Fix incorrect execution of expected-to-fail SQL in mysqltest case mysql8_t_2.regular_expressions_utf-8_icu_67 on Windows
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 339
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 52
Description
Environment
- Version: Server version: 5.7.25 OceanBase seekdb (r) (Built 1-e1ac5a57bf17078ca46ec9add574edeffac7c3f9 Apr 7 2026)
- Is this an RD-provided temporary version?: No
- Reproducibility: Stable (Consistently Reproducible)
Description
During mysqltest execution on Windows, a specific SQL statement that is expected to fail (and throw an error) is instead executing successfully. This issue is found in the test case mysql8_t_2.regular_expressions_utf-8_icu_67.
Steps to Reproduce
- Connect to the database using:
mysql -uroot -h -P 2881 - Execute the following SQL statement:
SELECT "hello hello" regexp '\\X' as yesno;
Actual Result:
The query executes successfully and returns a result (e.g., yesno: 0).
Expected Result:
The query should fail and return the error:
ERROR 1139 (42000): Got error 'U_MISSING_RESOURCE_ERROR' from regexp
Impact
This is a test case failure indicating a discrepancy between OceanBase's REGEXP behavior and the expected MySQL-compatible behavior for the \\X (Unicode grapheme cluster) pattern under the ICU 67 library with UTF-8 charset. It affects test suite correctness and may indicate a potential functional bug in the regular expression implementation.
Other Context
This issue was reported from external business operations. Please classify the work item type appropriately based on the actual scenario:
- Customer Service Feedback: Refers to issues found before production deployment or during POC, where a confirmed product bug requires a fix and release.
- Online Issue: A confirmed product bug that has occurred in a live, deployed environment but is not classified as a fault.
- Online Fault: A confirmed product bug in a live environment that has caused business errors or negative impact on the customer side (the definition of a fault is at the discretion of the delivery service team).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the mysql8_t_2.regular_expressions_utf-8_icu_67 test on Windows and reproducing the SELECT "hello hello" regexp '\X' statement. Trace the REGEXP execution and its ICU 67 handling for UTF-8, then confirm that the expected U_MISSING_RESOURCE_ERROR is returned and the mysqltest case passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, mysql, sql
- Domain
- databases, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100