gianm commented on PR #16153:
URL: https://github.com/apache/druid/pull/16153#issuecomment-2030550437

   For `LIKE` it seems reasonable to have an optimized matcher specifically 
geared towards the needs of `LIKE`. I am disappointed that the JDK regexp 
library doesn't handle these relatively simple cases well. I would have hoped 
that it could realize that `.*.*` is equivalent to `.*` and not blow up runtime 
with naive matching.
   
   For `REGEXP_LIKE`, the possibility of runtime blowup has always been there, 
as you point out. I'm not aware of a regexp library for Java that is equivalent 
to `java.util.Pattern` but does not have any possibility of runtime blowup. I 
am not even sure if it's possible. As I understand it, regexp libraries that 
guarantee no runtime blowup tend to achieve that by limiting the pattern syntax 
somewhat. (Does `joni` guarantee no runtime blowup, btw? I don't see a note 
about that on its page.)
   
   Assuming such a library doesn't exist, probably good approaches would be 
optionally using an alternative library, or @abhishekagarwal87's suggestion 
(detecting runtime blowup and throwing an error). But that's out of scope for 
this particular PR anyway, so let's focus on the `LIKE` situation.


-- 
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...@druid.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org
For additional commands, e-mail: commits-h...@druid.apache.org

Reply via email to