Skip to content

Releases: JSQLParser/JSqlParser

jsqlparser-4.0

01 Jan 23:16
Compare
Choose a tag to compare
  • 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

28 Jun 19:22
Compare
Choose a tag to compare
  • 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 to ColumnDefinition.setColumnSpecs to better allow the merge between AlterExpression.ColumnDataType and ColumnDefinition

jsqlparser-3.1

06 Nov 22:35
Compare
Choose a tag to compare
  • 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

29 Aug 21:31
Compare
Choose a tag to compare
  • 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

30 Jun 17:06
Compare
Choose a tag to compare
  • 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

16 Mar 22:55
Compare
Choose a tag to compare
  • 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

JSqlParser V1.4

09 Jan 21:15
Compare
Choose a tag to compare
  • support of substring(col from 2), position('test' in col), .. and more (pull request #702)
  • support of db2 VALUES syntax (issue #561)
  • bugfixes

This is the last 1.x release of JSqlParser.

jsqlparser-1.3

02 Oct 22:15
Compare
Choose a tag to compare

JSqlParser 1.3

  • support for with - selects statements in create view definitions
  • support for block statements (begin ... end)
  • support for additional raw string and byte prefixes (issue #659)
  • support for special oracle type syntax varchar2(255 BYTE) (issue #273)
  • introduced dotted multipart names for uservariables (issue #608)
  • changed behaviour of dotted multipart names for tables and columns to accept ORM class names (issue #163)
    ** the parser allows now empty inner names, to still accept missing schema names for SQLServer (db..col)
    ** methods like getDatabase will still work but have no sense using it for classnames
  • named parameter for OFFSET (issue #612)
  • corrected ISNULL regression (issue #610)
  • refactored statement test classes to the class corresponding packages
  • allowed nested postgresql casts (e.g. col::bigint::int)

JSqlParser 1.2

01 May 21:54
Compare
Choose a tag to compare
  • support for isnull
  • support for single quoted aliases select col1 as 'alias'
  • support for Unicode string literal like N'test' or U'test'
  • support for bitwise not ~
  • support for drop view
  • support for indexed JDBC parameters at multiple places
  • allowed index as object name
  • switched to JavaCC modern template
  • switched to JDK 1.7
  • introduced more AST node links
  • support for aliased table in insert into statement
  • SQL_CALC_FOUND_ROWS support
  • support for more complex expressions within case expr when expr then expr end.
  • support for << and >> left and right shift operations
  • breaking API change: merge of within group and over (window expressions)
  • first support for use statements
  • first support for call statements
  • create table allows now quoted identifiers within primary key definition
  • introduced alias for subquery in combination with a pivot definition (this changes alias handling within the library for pivot sqls)
  • force the parser to fully parse a String using parseCondExpression or parseExpression

JSqlParser 1.1

29 Jun 21:36
Compare
Choose a tag to compare
  • support for UPSERT syntax
  • absolute token positions in addition to column/line
  • common normal form transformer for expressions (https://en.wikipedia.org/wiki/Conjunctive_normal_form)
  • checkstyle integration to force first souce code conventions
    • checkstyle is activated by default, it can be deactivated by an environment property skipCheckSources
    • pull requests should follow this style settings