Closed
Description
Actual Behavior
JSQLParserException is thrown:
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:40)
Caused by: net.sf.jsqlparser.parser.TokenMgrException: Lexical error at line 1, column 81. Encountered: "\\" (92), after : ""
at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:3600)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_ntk_f(CCJSqlParser.java:19297)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:6101)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:6051)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:6087)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:6051)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:6142)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:6051)
at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:6022)
at net.sf.jsqlparser.parser.CCJSqlParser.WhereClause(CCJSqlParser.java:5379)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:3195)
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:3351)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:3059)
at net.sf.jsqlparser.parser.CCJSqlParser.SubSelect(CCJSqlParser.java:9738)
at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:4556)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:3185)
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:3351)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:3059)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:3052)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:132)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:83)
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
Expected Behavior
Can parse this without issues.
Steps to Reproduce the Problem
Parse this SQL:
SELECT * FROM T1 WHERE (name LIKE ? ESCAPE '\') AND (description LIKE ? ESCAPE '\')
Code Used
Statement statement = new CCJSqlParserManager().parse(new StringReader("SELECT * FROM T1 WHERE (name LIKE ? ESCAPE '\') AND (description LIKE ? ESCAPE '\')"))
Note
This parses without issues, having the 2nd escape is needed to see the problem:
SELECT * FROM T1 WHERE (name LIKE ? ESCAPE '\') AND (description LIKE ?)
Specifications
Tried using com.github.jsqlparser:jsqlparser:1.4
and com.github.jsqlparser:jsqlparser:2.1
Metadata
Metadata
Assignees
Labels
No labels