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
Always check against the Latest SNAPSHOT of JSQLParser and the Syntax Diagram
Failing SQL Feature:
CASE WHEN EXISTS can't be parsed
SQL Example:
SELECT id,
RECORD_ID,
MODULE_ID,
PAGE_ID,
TO_CHAR(MODIFY_DATE, 'yyyy-MM-dd') MODIFY_DATE_STR,
CASE WHEN EXISTS (SELECT 0 FROM JSON_TABLE(READ_USER, '$[*]' COLUMNS(value NUMBER(20) PATH '$'))
WHERE value = '-110') THEN
'已读'
ELSE
'未读'
END READ_STATUS
from BMSSETT.VERSION_RECORD_DETAIL
Software Information:
JSqlParser version 4.6-5.1
Database (Oracle 19c)
Tips:
net.sf.jsqlparser.JSQLParserException: Time out occurred.
SELECT id, RECORD_ID, MODULE_ID, PAGE_ID, TO_CHAR(MODIFY_DATE, 'yyyy-MM-dd') MODIFY_DATE_STR, CASE WHEN EXISTS (SELECT 0 FROM JSON_TABLE(READ_USER, '$[*]' COLUMNS(value NUMBER(20) PATH '$')) WHERE value = '-110') THEN '已读' ELSE '未读' END READ_STATUS from BMSSETT.VERSION_RECORD_DETAIL
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:261)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:81)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:47)
at cn.dazd.utils.jsqlparser.SqlOptimize.onlyQueryColumn(SqlOptimize.java:240)
at cn.dazd.utils.jsqlparser.SqlOptimize.onlyQueryColumn(SqlOptimize.java:254)
at cn.dazd.utils.jsqlparser.SqlOptimizeTestMain.main(SqlOptimizeTestMain.java:59)
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:258)
... 5 more
The text was updated successfully, but these errors were encountered:
manticore-projects
changed the title
[BUG] JSQLParser Version : RDBMS : failing feature description
[BUG] JSQLParser 5.1 : Oracle : special table function JSON_TABLE
Mar 21, 2025
Always check against the Latest SNAPSHOT of JSQLParser and the Syntax Diagram
Failing SQL Feature:
CASE WHEN EXISTS
can't be parsedSQL Example:
SELECT id,
RECORD_ID,
MODULE_ID,
PAGE_ID,
TO_CHAR(MODIFY_DATE, 'yyyy-MM-dd') MODIFY_DATE_STR,
CASE WHEN EXISTS (SELECT 0 FROM JSON_TABLE(READ_USER, '$[*]' COLUMNS(value NUMBER(20) PATH '$'))
WHERE value = '-110') THEN
'已读'
ELSE
'未读'
END READ_STATUS
from BMSSETT.VERSION_RECORD_DETAIL
Software Information:
Tips:
net.sf.jsqlparser.JSQLParserException: Time out occurred.
SELECT id, RECORD_ID, MODULE_ID, PAGE_ID, TO_CHAR(MODIFY_DATE, 'yyyy-MM-dd') MODIFY_DATE_STR, CASE WHEN EXISTS (SELECT 0 FROM JSON_TABLE(READ_USER, '$[*]' COLUMNS(value NUMBER(20) PATH '$')) WHERE value = '-110') THEN '已读' ELSE '未读' END READ_STATUS from BMSSETT.VERSION_RECORD_DETAIL
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:261)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:81)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:47)
at cn.dazd.utils.jsqlparser.SqlOptimize.onlyQueryColumn(SqlOptimize.java:240)
at cn.dazd.utils.jsqlparser.SqlOptimize.onlyQueryColumn(SqlOptimize.java:254)
at cn.dazd.utils.jsqlparser.SqlOptimizeTestMain.main(SqlOptimizeTestMain.java:59)
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:258)
... 5 more
The text was updated successfully, but these errors were encountered: