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-0.9.7

7 years ago

Extensions in version 0.9.7

  • support getting jdbc parameter index
  • Removed limitation of LongValue to accept only java.util.Long parsable values.
  • introduced NOT without parenthesis for column only conditions
  • introduced more complex expressions within CASE - statements
  • improved Postgresql JSON - support
  • integrated some Postgresql create table contraints
  • support for alter table modify statements
  • allowed more types of expressions after limit and top.

jsqlparser-0.9.6

7 years ago

Extensions in version 0.9.6

  • support for delete with join table
  • support for Alter with multiple ADD/DROP expressions
  • support for ON DELETE SET NULL for create table
  • added AST node support for subselect, withitem, function, case when
  • first support for TABLESPACE within CREATE TABLE
  • support for SELECT UNIQUE
  • first support for date literals like TIMESTAMP'2004-04-30 04:05:34.56'
  • support for UPDATE RETURNING
  • support for scalar time function, like CURRENT_TIMESTAMP
  • support for LEFT SEMI JOIN
  • improved top expression
SELECT TOP (? + 1) * FROM MyTable
  • allowed negative interval expressions like INTERVAL -420 MINUTES.
  • support for ALTER VIEW statements
  • improved merge statement
  • support for non standard syntax > =, < = and < > (with whitespaces between)

jsqlparser-0.9.5

8 years ago

Extensions in version 0.9.5

  • introduced first support for boolean valued column conditions
SELECT * FROM mytable WHERE mytable.boolValue;
  • improved parenthesis parsing performance within expressions (#215)
  • support for ALTER TABLE mytable ADD CONSTRAING name PRIMARY KEY (col)
  • support for INSERT LOW_PRIORITY INTO
  • support for ORDER BY and LIMIT in UPDATE and DELETE statements
UPDATE tablename SET ... ORDER BY col;
UPDATE tablename SET ... ORDER BY col LIMIT 10;
UPDATE table1 A SET ... LIMIT 10;
DELETE FROM tablename LIMIT 5;
DELETE FROM tablename ORDER BY col;
DELETE FROM tablename ORDER BY col LIMIT 10;
  • support for INSERT ... ON DUPLICATE KEY UPDATE
  • improved support for ALTER TABLE statements
  • first Oracle hint support for SELECT statements
  • first ALTER TABLE FOREIGN KEY support
  • first MERGE support
  • first version of escaped single quotes support
select '\'' 

jsqlparser-0.9.4

8 years ago

Extensions JSqlParser 0.9.4

  • improved interval expression syntax
  • support of hex values (0xabc54, x'abc567') added
  • support of (e.g. @@SPID) system parameters
  • support of signed parameters added
SELECT * FROM mytable WHERE -? < 4
  • support for SELECT SKIP <OFFSET> FIRST <LIMIT>...
  • Completely rewritten S_IDENTIFIER rule to accept hopefully all possible UTF-8 letters without specifying some additional rules.
  • allow Server within multipart names to act as database link
  • revived Apache Software License, Version 2.0
  • support for row constructors in conditions
SELECT * FROM t1 WHERE ROW(col1, col2) = (SELECT col3, col4 FROM t2 WHERE id = 10)
  • some refactorings for TablesNamesFinder to improve usability
  • established JJTree nodes for columns and tables (look at SelectASTTest) for first usages
  • support for MySQL GROUP_CONCAT
GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')

jsqlparser-0.9.3

9 years ago

Extensions JSqlParser 0.9.3

  • improved interval expression support
  • support for KEEP
KEEP (DENSE_RANK FIRST ORDER BY col1)
  • support for ILIKE
  • support for LEFT/RIGHT as function names
  • support for UPDATE OF table
  • API changes due to grammar refactoring
  • First support for Postgresql arrays. Some quoted identifier rules for SQLServer had to be changed.
  • support for with recursive
WITH RECURSIVE data as (SELECT ...) ...
  • support for oracles old join syntax improved
.. WHERE a( + ) = b
  • first support for numeric bind
SELECT a FROM b WHERE c = :1
  • support for keywords as column names in create table statements

jsqlparser-0.9.2

9 years ago

Extensions Release 0.9.2

  • first support for user variables
SELECT @col FROM table1
  • support for within group expressions, e.g. oracls LISTAGG function
SELECT LISTAGG(col1, '##') WITHIN GROUP (ORDER BY col1) FROM table1
  • support for inner with statements
SELECT * FROM (WITH actor AS (SELECT 'a' aid FROM DUAL) SELECT aid FROM actor)
  • support for Oracle collections
SELECT * FROM mytable WHERE COL1 = lines(idx).field1
  • support for PostgreSQL ANY - array syntax
  • introduced additional parameters for create table statements (deparser extended)
  • first support for FOR UPDATE
SELECT * FROM user_table FOR UPDATE
UPDATE mytable SET (col) = (SELECT a FROM mytable2)
  • partially support SQL Server 2012 and Oracle 12c OFFSET ... FETCH ...

jsqlparser-0.9.1

9 years ago

Extensions Release 0.9.1

  • Simple support for EXECUTE.
EXECUTE myproc 'a', 2, 'b'
  • Improved support for select into clause.
SELECT * INTO mytable FROM mytable2
  • Improved support for insert table using with clause.
INSERT INTO mytable (mycolumn) WITH a AS (SELECT mycolumn FROM mytable) SELECT mycolumn FROM a
  • Support for limit 0 and limit null clause.
  • Window functions now allow simple expressions for partition by.
  • Support for create table as select syntax:
CREATE TABLE table1 as SELECT col1, col2 FROM table2
  • First simple support of postgresqls JSON syntax.
SELECT data->'images'->'thumbnail'->'url' AS thumb FROM instagram
  • Included support for returning for insert statements.
INSERT INTO mytable (mycolumn) VALUES ('1') RETURNING id
  • Included support for multitable update statements.
UPDATE table1, table2 SET table1.col2 = table2.col2, table2.col3 = 'UPDATED' WHERE table1.col1 = table2.col1

jsqlparser-0.9

9 years ago

Extensions Version 0.9

  • Included support for some keyword object names.
SELECT cast, do FROM tableName
  • Included support for named primary keys in create table statements.
  • Include adapter classes for visitor interfaces to simplify visitor usage.
  • included a huge amount of oracle test sqls. There is much room for improvement supporting all oracle syntax specials.
  • pivot support for subqueries implemented
SELECT * FROM (SELECT times_purchased, state_code FROM customers t) PIVOT (count(state_code) FOR state_code IN ('NY', 'CT')) ORDER BY times_purchased
  • "!=" support corrected to not give "<>" while deparsing
  • Improved COUNT(ALL expr) support
  • lax test utils implemented
  • toString() for window elements corrected
  • Character Set support included.
CAST(col2 AS CHAR(255) CHARACTER SET utf8)

jsqlparser-0.8.9

9 years ago

Extensions Version 0.8.9

  • First multi statements or script support.
  • Backported window option from fork to analytic expression.
  • Added NULLS FIRST and NULLS LAST to order by.
  • Improved parsing of top.
  • Improved support for multi part names (SQLServer)
  • Better support for signed expressions. The sign is stored in the parse tree.
SELECT +col, -col FROM mytable
  • Added CCJSqlParserUtil.parseExpression to parse a simple expression. Now you can build expressions from a String like "a+b".
Expression expr = CCJSqlParserUtil.parseExpression("a*(5+mycolumn)");
  • Improved SelectUtils to build simple select statements.
Select select = SelectUtils.buildSelectFromTable(new Table("mytable"));

jsqlparser-0.8.8

9 years ago

Extensions Version 0.8.8

  • Startet a simple utility class SelectUtils to collect basic select modification tools.
    • addExpression adds a new expression to the select list.
    • addJoin adds a new join to the select.
  • Added support for optional " AS " for aliases.
SELECT * FROM mytable myalias
  • Added first support for ALTER TABLE statements
ALTER TABLE mytable ADD COLUMN mycolumn varchar (255)
  • Added support for PostgreSQL regular expression match operators.
SELECT a, b FROM foo WHERE a ~ '[help].*';
SELECT a, b FROM foo WHERE a ~* '[help].*';
SELECT a, b FROM foo WHERE a !~ '[help].*';
SELECT a, b FROM foo WHERE a !~* '[help].*';