You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression on the parsing of LIKE escape expression in JSQLParser 4.3 #1444
Version 4.3 of JSQLParser seems to introduce a regression in the way LIKE escape expressions are parsed. I assume caused by #420 but did not really look at the code in details.
To Reproduce
Steps to reproduce the behavior:
Given a code which looks like
Select select = (Select) CCJSqlParserUtil.parse("select doc.fullName from XWikiDocument doc where doc.fullName like :fullName escape '/' and doc.author like :author escape '!'");
PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
Expression where = plainSelect.getWhere();
I end up with where being a single LikeExpression in which the escape expression includes the whole '/' AND doc.author LIKE :author ESCAPE '!' part.
Expected behavior
In 4.2 the where variable is a AndExpression containing 2 LikeExpression.
Activity
manticore-projects commentedon Dec 13, 2021
Greetings,
good catch!
The problem here is the priority of the expressions, the
ANDbelongs to theWHEREbut not to theESCAPE.I will have a look into this tomorrow.
manticore-projects commentedon Nov 22, 2022
I think, that has been solved since a while. JSQLParser 4.6 Snapshot parses it just fine:
Closed.
tmortagne commentedon Nov 30, 2022
OK, thanks @manticore-projects! I'm looking forward to 4.6 then (I still reproduce with 4.5).