[ 
https://issues.apache.org/jira/browse/CALCITE-7906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18134466#comment-18134466
 ] 

Julian Hyde edited comment on CALCITE-7906 at 10/29/26, 9:11 PM:
-----------------------------------------------------------------

Can you give one or two examples in the description of a LIKE pattern, the 
regex we used to translate to, and the new regex? Are there some LIKE patterns 
that we cannot optimize?

Can you add one Quidem test? I'm guessing that it's possible to write a query 
like 'select * from emp where ename like '%J%E%S%' that is very slow if this 
bug has not been fixed.


was (Author: julianhyde):
Can you give one or two examples in the description of a LIKE pattern, the 
regex we used to translate to, and the new regex?

Can you add one Quidem test? I'm guessing that it's possible to write a query 
like 'select * from emp where ename like '%J%E%S%' that is very slow if this 
bug has not been fixed.

> LikePattern matching time grows exponentially with the number of '%' wildcards
> ------------------------------------------------------------------------------
>
>                 Key: CALCITE-7906
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7906
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Ruben Q L
>            Assignee: Ruben Q L
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.43.0
>
>
> LikePattern.likeToRegex turns each % into .* and matches with 
> java.util.regex. A pattern with many wildcards makes the regex engine 
> backtrack heavily when the name doesn't match.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to