oceanbase / oceanbase/seekdb

Fix incorrect execution of expected-to-fail SQL in mysqltest case mysql8_t_2.regular_expressions_utf-8_icu_67 on Windows

Open
#499 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dima type: bug
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

  1. Connect to the database using: mysql -uroot -h -P 2881
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.