Skip to content

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

Closed
@tmortagne

Description

@tmortagne

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions