AcKing-Sam opened a new pull request, #32515: URL: https://github.com/apache/doris/pull/32515
## Proposed changes Issue Number: [#32354](https://github.com/apache/doris/issues/32354) **Executing WHERE value_col REGEXP '.*' statement returns incorrect result** <!--Describe your changes.--> In the changed file, to match regular expression `.*`, the `ALLPASS_RE` should be changed to: ```cpp // A regex to match .* static const RE2 ALLPASS_RE(R"((\.\*)+)"); ``` After fix: ```mysql CREATE TABLE regtest ( id int, value_col string, pattern_col string ) ENGINE=OLAP DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" ); INSERT INTO regtest VALUES (0, 'prefix0_infix0_suffix0', 'prefix0'), (1, '%prefix1_infix1_suffix1', 'prefix1'), (2, 'prefix2_$infix2$suffix2', 'infix2'), (3, 'prefix3^infix3_suffix3', 'infix3'), (4, '$$$prefix4_$$$infix4%%%^^suffix4', 'suffix4'), (5, 'prefix5%%$$$__infix5$^^^%%$$suffix5', 'suffix5'), (6, 'prefix6__^^%%%infix6%^suffix6%', 'prefix6_^^%%%infix6%^suffix6%'), (7, '%%%^^^$$$prefix7_infix7_suffix7%%%^^^$$$', 'prefix7_infix7_suffix7'), (8, 'prefix8^^%%%infix8%%$$^^___suffix8', ''), (9, 'prefix9$$%%%^^infix9&&%%$$suffix9', NULL); mysql> SELECT * FROM regtest WHERE value_col REGEXP '.*' ORDER BY id; +------+------------------------------------------+-------------------------------+ | id | value_col | pattern_col | +------+------------------------------------------+-------------------------------+ | 0 | prefix0_infix0_suffix0 | prefix0 | | 1 | %prefix1_infix1_suffix1 | prefix1 | | 2 | prefix2_$infix2$suffix2 | infix2 | | 3 | prefix3^infix3_suffix3 | infix3 | | 4 | $$$prefix4_$$$infix4%%%^^suffix4 | suffix4 | | 5 | prefix5%%$$$__infix5$^^^%%$$suffix5 | suffix5 | | 6 | prefix6__^^%%%infix6%^suffix6% | prefix6_^^%%%infix6%^suffix6% | | 7 | %%%^^^$$$prefix7_infix7_suffix7%%%^^^$$$ | prefix7_infix7_suffix7 | | 8 | prefix8^^%%%infix8%%$$^^___suffix8 | | | 9 | prefix9$$%%%^^infix9&&%%$$suffix9 | NULL | +------+------------------------------------------+-------------------------------+ 10 rows in set (0.05 sec) mysql> SELECT * FROM regtest WHERE value_col REGEXP '.' ORDER BY id; +------+------------------------------------------+-------------------------------+ | id | value_col | pattern_col | +------+------------------------------------------+-------------------------------+ | 0 | prefix0_infix0_suffix0 | prefix0 | | 1 | %prefix1_infix1_suffix1 | prefix1 | | 2 | prefix2_$infix2$suffix2 | infix2 | | 3 | prefix3^infix3_suffix3 | infix3 | | 4 | $$$prefix4_$$$infix4%%%^^suffix4 | suffix4 | | 5 | prefix5%%$$$__infix5$^^^%%$$suffix5 | suffix5 | | 6 | prefix6__^^%%%infix6%^suffix6% | prefix6_^^%%%infix6%^suffix6% | | 7 | %%%^^^$$$prefix7_infix7_suffix7%%%^^^$$$ | prefix7_infix7_suffix7 | | 8 | prefix8^^%%%infix8%%$$^^___suffix8 | | | 9 | prefix9$$%%%^^infix9&&%%$$suffix9 | NULL | +------+------------------------------------------+-------------------------------+ 10 rows in set (0.03 sec) mysql> SELECT * FROM regtest WHERE value_col REGEXP '.*.*' ORDER BY id; +------+------------------------------------------+-------------------------------+ | id | value_col | pattern_col | +------+------------------------------------------+-------------------------------+ | 0 | prefix0_infix0_suffix0 | prefix0 | | 1 | %prefix1_infix1_suffix1 | prefix1 | | 2 | prefix2_$infix2$suffix2 | infix2 | | 3 | prefix3^infix3_suffix3 | infix3 | | 4 | $$$prefix4_$$$infix4%%%^^suffix4 | suffix4 | | 5 | prefix5%%$$$__infix5$^^^%%$$suffix5 | suffix5 | | 6 | prefix6__^^%%%infix6%^suffix6% | prefix6_^^%%%infix6%^suffix6% | | 7 | %%%^^^$$$prefix7_infix7_suffix7%%%^^^$$$ | prefix7_infix7_suffix7 | | 8 | prefix8^^%%%infix8%%$$^^___suffix8 | | | 9 | prefix9$$%%%^^infix9&&%%$$suffix9 | NULL | +------+------------------------------------------+-------------------------------+ 10 rows in set (0.03 sec) ``` The results are the same with mysql's output. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org