JSqlParser
JSqlParser copied to clipboard
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
when a apache-hive UDTF [https://cwiki.apache.org/confluence/display/Hive/DeveloperGuide+UDTF] output multi columns, we can not use alias for them in jsql parser, see this flowing sql: select stack(1, key, value, key, value) as (a,...
If you try to build a CopyVisitor of some kind of object hierarchy, one has to build some kind of **Stack** structure, to give the actual visitor a hint, where...
The following produced an exception: ``` CREATE LOCAL TEMP TABLE temp ON COMMIT DROP AS SELECT id FROM xxx; ```
code: ``` Statement stmt = CCJSqlParserUtil.parse(sql); ``` sql: ``` CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `testview` AS select * from testtable ``` exception: ``` Exception in thread "main" net.sf.jsqlparser.JSQLParserException...
SQL Server supports storing data in table variables which are in-memory variants to temporary tables: `SELECT columnName FROM @table` https://docs.microsoft.com/en-us/sql/t-sql/data-types/table-transact-sql?view=sql-server-ver15#examples
**Describe the bug** JSqlParser failed to parse Teradata "UPDATE" statement with "FROM" clause. **To Reproduce** Steps to reproduce the behavior: SQL: update a from db1.table1 a, db2.tabl2 b set a.column1...
**Describe the bug** Using MySQL user variables after the INTO clause in a SELECT is a perfectly valid MySQL query. But the parse is unable to parse such a query....
`select udtf_1(words) as (a1, a2) from tab` like Hive, sparksql.
### Actual Behavior such as:select from table where value->$.type = '' ### Expected Behavior select relative result ### Steps to Reproduce the Problem 1. mysql 5.7.8 that support json function...
Hi, The following TSQL statement seems not to be supported by JSqlParser (v.0.9.6) ``` SELECT ( STUFF( (SELECT '|' + person_name FROM person JOIN person_group ON person.person_id = person_group.person_id WHERE...