JSqlParser Versions Save

JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern

jsqlparser-3.2

3 years ago
  • 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

4 years ago
  • 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-3.0

4 years ago
  • 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-2.1

4 years ago
  • 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-2.0

5 years ago
  • 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-1.4

5 years ago
  • 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

5 years ago

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

5 years ago
  • 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

6 years ago
  • 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

jsqlparser-1.0

7 years ago
  • support FOR UPDATE WAIT
  • support for simple expressions within case when
  • rewrite of SelectBody - production, reduce of needed lookaheads results in huge parser performance improvements at least in some cases
    • please test it due to possible changes in the parse tree
  • released as version 1.0