Releases: JSQLParser/JSqlParser
Releases · JSQLParser/JSqlParser
jsqlparser-4.3
- moved to JUnit 5 as a test framework
- added IGNORE NULLS to window functions
- Postgres compliant ALTER TABLE schema.oldTableName RENAME TO newTableName
- added use of * or mytable.* as a function parameter
- enhanced support for ddl drop of indexes
- support alias for Unpivot statement
- support for limit and offset expressions
- support for special JSON_OBJECT function parsing
- allow ComplexExpressions for CASE expression (preview)
- support MYSQL modifiers for DELETE / UPDATE
- support for Postgres Dollar quotation:
$$mystring$$ - support for expression in escaping of a like expression: LIKE ? ESCAPE ?
- support for CREATE OR REPLACE TABLE
- support for multi column unpivot
- support for RESTART in Postgres ALTER SEQUENCE
- improved support of IGNORE NULLS in window functions
- upgraded some maven plugin versions
JSqlParser 4.2
- API change: Support
SELECT ...
without aFROM
clause, makingSELECT 1, 2
andSELECT *
parsable statements (before those failed) - API change: Support complex
UPDATE
sets (using multipleSubQuery
orValueList
or Single Values, in combination) - Support nested
CASE
expressions with complex expression arguments - API change: Support
JOIN
with multiple trailingON
Expressions (JOIN ... JOIN ... ON ... ON ...
) - Support Oracle Hierarchical
CONNECT_BY_ROOT
Operator - Support Transact-SQL
IF ... ELSE ...
Statement Control Flows. - Allow optional parameters for the
ALTER TABLE ...
statement (e.g.ALTER TABLE ... MOVE TABLESPACE ...
) - Support Oracle
ALTER SYSTEM ...
statement - Support Oracle Named Function Parameters
Func( param1 => arg1, ...
- Add Gradle build
- Allow
JdbcParameter
orJdbcNamedParameter
for MySQL FullTextSearch - Allow
Cast
intoRow
Constructor - Support Oracle
RENAME ... TO ...
statement - Support Oracle
PURGE
statement - Support JSON functions
JSON_OBJECT()
,JSON_ARRAY()
,JSON_OBJECTAGG()
,JSON_ARRAYAGG()
- API change: merge ALL and ANY expressions class
- Allow DB2 compliant
CURRENT DATE
in addition toCURRENT_DATE
(without underscore)
jsqlparser-4.1
- RESET statement
- SET LOCAL|SESSION
- support for nested
WITH
CTEs - support for with (cte) for delete, update and merge
- introduce a max depth to allow parsing complex expression lists without performance loss (thx to @manticore-projects)
- allow all functions to have complex expressions as parameters (thx to @manticore-projects)
- API change FunctionWithCondParams production removed
- API change in ValuesStatement: the expression list is now hold as a ItemList and not as a List
- support for parser modification within parseExpression and parseCondExpression
- support for table schema for foreign keys
- support for Oracle hints on insert, update and merge
- support for merge insert where clause
- allow in as schema name
- allow skip, algorithm as column name
- support for functions in an interval expression
- subArray support arr[1:3]
- first support for tuples as simple expression SELECT myfunc((f1, f2))
- support for array constructors array[[1, 2], [id1, id2]]
- added support for NOT in MySqls REGEXP clause
- added support for WITH mytble as ( .. ) INSERT INTO ...
- added support for H2 casewhen function with conditional parameters
jsqlparser-4.0
- refactored grammar to get a huge speedup for parenthesis in from part like:
SELECT * FROM (((((( mytable ))))))
- allowed cast as unsigned
- allowed keyword current as jdbc named parameter name
- Grant allows now multipart names
- updated JavaCC 7.0.10
- support for CREATE OR REPLACE for create function statements
- support for JDBCParameter for interval expressions
- support for xmlserialize(xmlagg(xmltext( ) ORDER BY ) as ) expression
- first try to support conditions as select items: SELECT a < b
- support for DROP SEQUENCE
- heavy updating of many class files to support fluent like class building and setting of attributes (thx to @gitmotte)
- update version to 4.0-SNAPSHOT due fluent PR
- ON UPDATE CASCADE implemented
- add generated sources to classpath to avoid maven eclipse problems
- COMMENT ON VIEW implemented
- allowed Jdbc named parameters within interval expressions
- allow variable assignments in select statements in different positions
- allow keywords as object names of, exclude
- multi part Table name gets automatically resized if the last item is removed
- first version of a validation framework for sql statements (thx to @gitmotte)
jsqlparser-3.2
- added options to EXPLAIN statement
- preserved input of && and avoid translation to AND
- added multi values in IN expression
- added COMMENT support for ALTER TABLE statement
- added some FOREIGN KEY definition improvments
- allow VALIDATE as column name
- first support for CREATE SCHEMA and DROP SCHEMA
- allow ON as a value in a set statement (
SET myvalue = ON
) - support for ALTER TABLE ONLY mytable ...
- allow foreign key definition in alter statements without referenced columns specification
- allow datatype binary for column definitions
- support for ALTER TABLE COLUMN DROP NOT NULL
- allow order as column name
- support for table function in IN expression
- allow complex expressions within all of a case when statement
- support for parameters in create index statement
- support for integer parameters for ->> and -> JSON expressions
- support for more keywords in following parts of multipart object names (e.g. mytab.select, mytab.create, ...)
- support for OUTER APPLY
- support for WITH(NOLOCK)
- support for VIEW as object name
- functions hold now multipart names
- support for DISABLE as object name
- API change in
ColumnDefinition.setColumnSpecStrings
toColumnDefinition.setColumnSpecs
to better allow the merge betweenAlterExpression.ColumnDataType
andColumnDefinition
jsqlparser-3.1
- support for cross apply
- allowed keyword character as object name
- allowed keyword size as object name
- introduced FILTER expression for window functions
- allow more complex expressions for CASE.
- allowed start as object name as column name or table name
- introduced more positions for ! instead of NOT
- allowed more complex expressions within if function
- introduced multicolumn alias like select * from mytab as tab(c1, c2)
- additional type definition is possible (issue #849)
JSqlParser V3.0
- support for array constructs using square brackets. This collides with square bracket
quotation of SqlServer. The parser has now a flag to enable this quotation again (CCJSqlParser.withSquareBracketQuotation). - support for update table1 inner join table2 ... (API change)
- support for declare statement
- allow empty double quotes
- allow year, month ... as column data type for create table
- allow duplicate as object name
- make it JDK 11 buildable
- switched to minimum JDK 8
- avoid buffer copy of input data if a normal String input is used
- allow limit and offset as keywords in specific places
- DIV operator
- improved performance for SQLCondition production
- support for full text search (MATCH..AGAINST)
JSqlParser V2.1
- support for similar to statement
- support for show statment (API - change)
- introduces Statement streaming support by CCJSqlParserUtil.streamStatements
- improved nested bracket parsing performance by a large scale
JSqlParser V2.0
- support for GROUPING SETS
- first support for db date arithmetic
- support for chained functions
- first support for FOR XML PATH
- support for NEXTVAL FOR
- changed all source code license headers to reflect the dual license of JSqlParser more correctly
- support of OPTIMIZE FOR 20 ROWS like expressions
- allowed conditions within then and else of a case statement
- SELECT * FROM mytable WHERE CASE WHEN a = 1 THEN b IN (1,2,3) ELSE c IN (1,2,3) END
- change of parsing for not within condition: outer not is represented now by NotExpression
- support of named parameters for execute: EXEC procedure @param = 'foo'
- support multivalue set statement
- support of describe
- support of explain
- support of prefix _utf8'strings'
- allow top keyword as table / column / alias name