Describe the bug
A clear and concise description of what the bug is.
my sql is :
SELECT count(*) FROM customers WHERE 1 =1 and (created_at at time zone 'Asia/Shanghai')::date = '2021-02-01'::date
and would get exception:
`
Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "at" <S_IDENTIFIER>
at line 3, column 32.
Was expecting one of:
"&"
"&&"
")"
"::"
"<<"
">>"
"AND"
"COLLATE"
"OR"
"["
"^"
"|"
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:188) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:176) ~[jsqlparser-4.0.jar:na]
at com.baomidou.mybatisplus.core.parser.AbstractJsqlParser.parser(AbstractJsqlParser.java:62) ~[mybatis-plus-core-3.3.2.jar:3.3.2]
... 105 common frames omitted
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "at" <S_IDENTIFIER>
at line 3, column 32.
Was expecting one of:
"&"
"&&"
")"
"::"
"<<"
">>"
"AND"
"COLLATE"
"OR"
"["
"^"
"|"
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:26538) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:26377) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:8531) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:8400) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:8371) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.WhereClause(CCJSqlParser.java:7284) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:4307) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:4496) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:4163) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:4158) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:130) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:502) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:186) ~[jsqlparser-4.0.jar:na]
... 107 common frames omitted
`
but this sql is work !!!
Or
SELECT count(*) FROM table WHERE date(created_at at time zone 'Asia/Shanghai') = date(timezone('Asia/Shanghai}', CURRENT_DATE))
I would get exception:
`
Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "(" "("
at line 2, column 15.
Was expecting one of:
"&"
"&&"
"::"
";"
"<<"
">>"
"AND"
"COLLATE"
"CONNECT"
"EXCEPT"
"FOR"
"GROUP"
"HAVING"
"INTERSECT"
"MINUS"
"OR"
"ORDER"
"START"
"UNION"
"["
"^"
"|"
<EOF>
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:188) ~[jsqlparser-4.0.jar:na]
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:176) ~[jsqlparser-4.0.jar:na]
at com.baomidou.mybatisplus.core.parser.AbstractJsqlParser.parser(AbstractJsqlParser.java:62) ~[mybatis-plus-core-3.3.2.jar:3.3.2]
... 105 common frames omitted
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("
at line 2, column 15.
`
and this sql is also work!
It seems not supported pgsql grammar?
System
- Database you are using : postgres
- Java Version :jdk11
- JSqlParser version :4.0
Describe the bug
A clear and concise description of what the bug is.
my sql is :
SELECT count(*) FROM customers WHERE 1 =1 and (created_at at time zone 'Asia/Shanghai')::date = '2021-02-01'::dateand would get exception:
`
Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "at" <S_IDENTIFIER>
at line 3, column 32.
Was expecting one of:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "at" <S_IDENTIFIER>
at line 3, column 32.
Was expecting one of:
`
but this sql is work !!!
Or
SELECT count(*) FROM table WHERE date(created_at at time zone 'Asia/Shanghai') = date(timezone('Asia/Shanghai}', CURRENT_DATE))I would get exception:
`
Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "(" "("
at line 2, column 15.
Was expecting one of:
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("
at line 2, column 15.
`
and this sql is also work!
It seems not supported pgsql grammar?
System