Releases: JSQLParser/JSqlParser
Releases · JSQLParser/JSqlParser
jsqlparser-4.6
What's Changed
Changes and new Features
- Using own Feature - constant for "delete with returning" #1597 by @gitmotte in #1598
- fix Issues: #1524 support hive alter sql : ALTER TABLE name ADD COLUMNS (col type,col2 type.....) by @Zhumin-lv-wn in #1605
- Fixes PR #1524 support hive alter sql by @manticore-projects in #1609
- Closes #1604, added simple OVERLAPS support by @d2a-raudenaerde in #1611
- Support timestamptz dateliteral by @tpoll in #1621
- fix: add missing public Getter by @manticore-projects in #1632
- Support BigQuery SAFE_CAST (#1622) by @dequn in #1634
- Bump h2 from 1.4.200 to 2.1.210 by @dependabot in #1639
- Assorted fixes by @manticore-projects in #1646
- Support for SKIP LOCKED tokens on SELECT FOR UPDATE statements by @lucasdillmann in #1649
- Enhanced Keywords by @manticore-projects in #1382
- Keywords2: Update whitelisted Keywords by @manticore-projects in #1653
- Fix parsing statements with multidimensional array PR2 by @manticore-projects in #1665
- Assorted fixes by @manticore-projects in #1666
- Fixed download war script in the renderRR task by @haha1903 in #1659
- Assorted Fixes #4 by @manticore-projects in #1676
- Fix #1686: add support for creating views with "IF NOT EXISTS" clause by @zaza in #1690
- Support DROP MATERIALIZED VIEW statements by @zaza in #1711
- Assorted Fixes #5 by @manticore-projects in #1715
- Sphinx Website by @manticore-projects in #1624
- Added support for SHOW INDEX from table by @jayant-kumar-yadav in #1704
- Issue1673 case within brackets by @manticore-projects in #1675
- Oracle Alternative Quoting by @manticore-projects in #1722
New Contributors
- @Zhumin-lv-wn made their first contribution in #1605
- @tpoll made their first contribution in #1621
- @dequn made their first contribution in #1634
- @lucasdillmann made their first contribution in #1649
- @haha1903 made their first contribution in #1659
- @zaza made their first contribution in #1690
- @jayant-kumar-yadav made their first contribution in #1704
Full Changelog: jsqlparser-4.5...jsqlparser-4.6
jsqlparser-4.5
- UnsupportedStatement support instead of throwing Exceptions
- support for RETURNING clause of a DELETE statement
- Add support for
... ALTER COLUMN ... DROP DEFAULT INSERTsupportsSetOperations(e. g.INSERT INTO ... SELECT ... FROM ... UNION SELECT ... FROM ...), thoseSetOperationsare used both forSELECTandVALUESclauses (API change) in order to simplify the Grammar(WITH ... SELECT ...)statements within brackets are now supported- Postgres
NATURAL { INNER | LEFT | RIGHT } JOINsupport - extended support for Hive dialect
GROUPING SETS - support for Postgresql drop function
- support table option character set and index options
- support Postgresql optional TABLE in TRUNCATE
- support for
ANALYZE mytable - PostgreSQL
INSERT INTO ... ON CONFLICT ... DO ...statements - implement Parser Timeout Feature, e. g.
CCJSqlParserUtil.parse(sqlStr, parser -> parser.withTimeOut(60000)); - extended support Postgres'
Extract( field FROM source)wherefieldis a String instead of a Keyword - support for
DROP column IF EXISTS
What's Changed
Changes and new Features
- Performance Improvements by @manticore-projects in #1439
- Update bug_report.md by @manticore-projects in #1512
- Unsupported statement by @manticore-projects in #1519
- fixs #1520 by @chiangcho in #1521
- #1527 DELETE ... RETURNING ... by @manticore-projects in #1528
- Add support for
... ALTER COLUMN ... DROP DEFAULTby @manticore-projects in #1532 - #1516 rename without column keyword by @manticore-projects in #1533
- INSERT with SetOperations by @manticore-projects in #1531
- Allow isolation keywords as column name and aliases by @tomershay in #1534
- compound statement tests by @rathboma in #1545
- Postgres NATURAL LEFT/RIGHT joins by @manticore-projects in #1560
- Add support for Hive dialect GROUPING SETS. by @qzchenwl in #1539
- add support for postgres drop function statement by @rrrship in #1557
- Add test for LikeExpression.setEscape and LikeExpression.getStringExpression by @lacinoire in #1568
- Support table option character set and index options by @luoffei in #1586
- Closes #1583:: Implement Postgresql optional TABLE in TRUNCATE by @d2a-raudenaerde in #1585
- Closes #1579. Added ANALYZE support. by @d2a-raudenaerde in #1587
- Extended support Postgres' Extract( field FROM source) by @manticore-projects in #1591
- Configurable Parser Timeout via Feature by @manticore-projects in #1592
- PostgreSQL INSERT ... ON CONFLICT Issue #1551 by @manticore-projects in #1552
- add support for drop column if exists by @rrrship in #1594
- @rathboma made their first contribution in #1545
- @qzchenwl made their first contribution in #1539
- @rrrship made their first contribution in #1557
- @lacinoire made their first contribution in #1568
- @luoffei made their first contribution in #1586
- @d2a-raudenaerde made their first contribution in #1585
New Contributors
Full Changelog: jsqlparser-4.4...jsqlparser-4.5
JSqlParser 4.4
- support for timestamp with local time zone
- improved support for quoted identifiers in casts
- support for top with ties
- support for operators <-> and <#>
- improvement of test methods
- validation bugfixes
- Json function Improvements and Bugfix #1506
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 aFROMclause, makingSELECT 1, 2andSELECT *parsable statements (before those failed) - API change: Support complex
UPDATEsets (using multipleSubQueryorValueListor Single Values, in combination) - Support nested
CASEexpressions with complex expression arguments - API change: Support
JOINwith multiple trailingONExpressions (JOIN ... JOIN ... ON ... ON ...) - Support Oracle Hierarchical
CONNECT_BY_ROOTOperator - 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
JdbcParameterorJdbcNamedParameterfor MySQL FullTextSearch - Allow
CastintoRowConstructor - Support Oracle
RENAME ... TO ...statement - Support Oracle
PURGEstatement - Support JSON functions
JSON_OBJECT(),JSON_ARRAY(),JSON_OBJECTAGG(),JSON_ARRAYAGG() - API change: merge ALL and ANY expressions class
- Allow DB2 compliant
CURRENT DATEin addition toCURRENT_DATE(without underscore)
jsqlparser-4.1
- RESET statement
- SET LOCAL|SESSION
- support for nested
WITHCTEs - 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.setColumnSpecStringstoColumnDefinition.setColumnSpecsto better allow the merge betweenAlterExpression.ColumnDataTypeandColumnDefinition
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)