Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression on the parsing of LIKE escape expression in JSQLParser 4.3 #1444

Closed
tmortagne opened this issue Dec 13, 2021 · 3 comments
Closed

Comments

@tmortagne
Copy link

Describe the bug

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.

System

  • Java Version: 1.8.0_302
  • JSqlParser version: 4.3
@manticore-projects
Copy link
Contributor

Greetings,

good catch!
The problem here is the priority of the expressions, the AND belongs to the WHERE but not to the ESCAPE.

I will have a look into this tomorrow.

@manticore-projects
Copy link
Contributor

I think, that has been solved since a while. JSQLParser 4.6 Snapshot parses it just fine:

-- Input
select doc.fullName from XWikiDocument doc where doc.fullName like :fullName escape '/' and doc.author like :author escape '!';

-- Output
SELECT doc.fullname
FROM xwikidocument doc
WHERE doc.fullname LIKE :fullName ESCAPE '/'
        AND doc.author LIKE :author ESCAPE '!'
;

Closed.

@tmortagne
Copy link
Author

OK, thanks @manticore-projects! I'm looking forward to 4.6 then (I still reproduce with 4.5).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants