@@ -6,258 +6,37 @@ Look here for more information and examples: https://github.com/JSQLParser/JSqlP
66
77Version ** 0.9** released.
88
9- Version ** 0.8.9** released.
10-
11- Version ** 0.8.8** released.
12-
13- Due to incompatibilities using maven release with git v1.8.5 I skipped version 0.8.7. So the actual released version is ** 0.8.8** .
14-
15- Recent changes in ** 0.8.7-SNAPSHOT** for some alias support changes introducing some API changes.
16-
17- Version ** 0.8.6** released.
18-
19-
20- The first release version ** 0.8.5** is available at maven central (** http://repo1.maven.org/maven2/ ** ) and at repository
21- ** https://oss.sonatype.org/content/groups/public/ ** .
9+ More news can be found here: https://github.com/JSQLParser/JSqlParser/wiki/News .
2210
11+ ## JSqlParser
2312
24- The maven repository settings have been changed. Version ** 0.8.5-SNAPSHOT** will be the
25- first snapshot at sonatypes open source repository location. The following releases will
26- go there as well and published to maven central. To avoid problems with the original
27- projects artifacts the * groupid* was changed to ** com.github.jsqlparser** . You will find
28- configuration details below.
13+ JSqlParser is a SQL statement parser. It translates SQLs in a traversable hierarchy of Java classes. JSqlParser is not limited to one database but provides support for a lot of specials of Oracle, SqlServer, MySQL, PostgreSQL ... To name some it has support for Oracles join syntax using (+), PostgreSQLs cast syntax using ::, relational operators like != and so on.
2914
30- ## JSqlParser
15+ ## Contributions
16+ To help JSqlParsers development you are encouraged to provide
17+ * feedback
18+ * bugreports
19+ * pull requests for new features
20+ * improvement requests
3121
32- JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes.
33- The generated hierarchy can be navigated using the Visitor Pattern.
22+ Also I would like to know about needed examples or documentation stuff.
3423
35- ## Extensions Version 0.9.1
24+ ## Extensions in latest Version 0.9.1
3625
3726* Included support for multitable update statements..
3827
3928``` sql
4029UPDATE table1, table2 SET table1 .col2 = table2 .col2 , table2 .col3 = ' UPDATED' WHERE table1 .col1 = table2 .col1
4130```
4231
43- ## Extensions Version 0.9
44-
45- * Included support for some keyword object names.
46-
47- ``` sql
48- SELECT cast, do FROM tableName
49- ```
50-
51- * Included support for named primary keys in create table statements.
52- * Include adapter classes for visitor interfaces to simplify visitor usage.
53- * included a huge amount of oracle test sqls. There is much room for improvement supporting all oracle syntax specials.
54- * pivot support for subqueries implemented
55-
56- ``` sql
57- SELECT * FROM (SELECT times_purchased, state_code FROM customers t) PIVOT (count (state_code) FOR state_code IN (' NY' , ' CT' )) ORDER BY times_purchased
58- ```
59-
60- * "!=" support corrected to not give "<>" while deparsing
61- * Improved ** COUNT(ALL expr)** support
62- * lax test utils implemented
63- * toString() for window elements corrected
64- * Character Set support included.
65-
66- ``` sql
67- CAST(col2 AS CHAR (255 ) CHARACTER SET utf8)
68- ```
69-
70- ## Extensions Version 0.8.9
71-
72- * First multi statements or script support.
73- * Backported window option from fork to analytic expression.
74- * Added ** NULLS FIRST** and ** NULLS LAST** to order by.
75- * Improved parsing of ** top** .
76- * Improved support for multi part names (SQLServer)
77- * Better support for signed expressions. The sign is stored in the parse tree.
78-
79- ``` sql
80- SELECT + col, - col FROM mytable
81- ```
82-
83- * Added ** CCJSqlParserUtil.parseExpression** to parse a simple expression. Now you can build expressions from a String like "a+b".
84-
85- ``` java
86- Expression expr = CCJSqlParserUtil . parseExpression(" a*(5+mycolumn)" );
87- ```
88-
89- * Improved ** SelectUtils** to build simple select statements.
90-
91- ``` java
92- Select select = SelectUtils . buildSelectFromTable(new Table (" mytable" ));
93- ```
94-
95- ## Extensions Version 0.8.8
96-
97- * Startet a simple utility class ** SelectUtils** to collect basic ** select** modification tools.
98- * addExpression adds a new expression to the select list.
99- * addJoin adds a new join to the select.
100- * Added support for optional " AS " for aliases.
101-
102- ``` sql
103- SELECT * FROM mytable myalias
104- ```
105-
106- * Added first support for ALTER TABLE statements
107-
108- ``` sql
109- ALTER TABLE mytable ADD COLUMN mycolumn varchar (255 )
110- ```
111-
112- * Added support for PostgreSQL regular expression match operators.
113-
114- ``` sql
115- SELECT a, b FROM foo WHERE a ~ ' [help].*' ;
116- SELECT a, b FROM foo WHERE a ~* ' [help].*' ;
117- SELECT a, b FROM foo WHERE a !~ ' [help].*' ;
118- SELECT a, b FROM foo WHERE a !~* ' [help].*' ;
119- ```
120-
121- ## Extensions Version 0.8.6
122-
123- * Added first support for Oracle hierarchical queries
124-
125- ``` sql
126- SELECT * FROM employees CONNECT BY employee_id = manager_id ORDER BY last_name;
127- SELECT * FROM employees START WITH employee_id = 100 CONNECT BY PRIOR employee_id = manager_id ORDER SIBLINGS BY last_name;
128- ```
129-
130- ## Extensions Version 0.8.5
131-
132- * Added support for mysql truncate function
133- * Changed repository location and groupid of JSqlParsers artifact.
134-
135- ``` xml
136- <dependency >
137- <groupId >com.github.jsqlparser</groupId >
138- <artifactId >jsqlparser</artifactId >
139- <version >0.8.5</version >
140- </dependency >
141- ```
142-
143- * Added support for postgresql type ** character varying** .
144-
145- ## Extensions Version 0.8.4
146-
147- * Added support for named JDBC parameters
148-
149- ``` sql
150- SELECT * FROM mytable WHERE b = :param
151- ```
152- * Added support for pivot expressions
153- * Added support for boolean functions in where statements
154-
155- ``` sql
156- select * from my_table where bool_func(col)
157- ```
158- * Added support for Oracles old join syntax for more compare operations
159-
160- ``` sql
161- select * from taba, tabb where taba .a < tabb .a (+ )
162- ```
163- * Added support for foreign keys in create table statements
164-
165- ``` sql
166- create table testTable1 (a varchar (10 ), b varchar (20 ), foreign key a references testTable2(a))
167- create table testTable1 (a varchar (10 ), b varchar (20 ), constraint fkIdx foreign key a references testTable2(a))
168- ```
169- * Added support for simple intervals
170-
171- ``` sql
172- select 5 - INTERVAL ' 45 MINUTE' from mytable
173- ```
174- * Added support for multi values IN expression
175-
176- ``` sql
177- select * from mytable where (a,b,c) in (select a,b,c from mytable2)
178- ```
179-
180- ## Extensions Version 0.8.3
181-
182- * Added support for cross join
183- * Allowed complex expressions in extract from
184- * Corrected cast expression to make type parameters usable (e.g. cast(col1 as varchar(255))
185- * Added support for column comma list in partition by statements
186- * Added support for columns names in create view statements
187-
188- ``` sql
189- create view testView (col1,col2) as select a, b from table
190- ```
191- * Added support for column cast using ::
192- * Added support for from clause in update statements
193-
194- ``` sql
195- update tab1 set c= 5 from tab1 inner join tab2 on tab1 .col1 = tab2 .col2
196- ```
197- * Corrected TableNamesFinder to work with update statements additions.
198- * Added support for simple create materialized view statements without additional parameters.
199-
200- ``` sql
201- create materialized view testView as select a, b from table
202- ```
203- * Added support for simple create index statements
204-
205- ``` sql
206- create index myindex on mytab (mycol, mycol2)
207- ```
208-
209- ## Extensions til Version 0.8.2
210-
211- * Changed project tests to junit 4
212- * Changed project layout to maven project
213- * Added regexp (REGEXP) operator
214- * Added support for SELECT without FROM (e.g. "SELECT 1+2")
215- * Moved parser from using StringBuffer to using StringBuilder
216- * Added support for CAST expression
217-
218- ``` sql
219- select cast(col as varchar ) from table
220- ```
221- * Added support for modulo (a % b)
222- * Added support for brackets quotation
223- * Added support for NOT expr IS (expr IS NOT was already supported)
224- * Added support for Oracles (+) Join Syntax
225-
226- ``` sql
227- select * from taba, tabb where taba .a = tabb .a (+ )
228- ```
229- * Added alias visitor to add aliases to selections
230- * Added connect visitor
231- * TableNamesFinder moved from tests to main source
232- * Added proper support for sets (union, intersect)
32+ ## Extensions in older releases
23333
234- ``` sql
235- select a from taba union select b from tabb
236- select a from taba intersect select b from tabb
237- select a from taba except select b from tabb
238- select a from taba minus select b from tabb
239- ```
240- * Added support for ` extract(year from datetime-expr) `
241- * Start implementation of analytical expressions
242- * merged support for CREATE VIEW
243- * Added lateral subquery support
244- * Added support for multi values insert statement
245-
246- ``` sql
247- insert taba (col1,col2) values (1 ,2 ), (2 ,5 ), (3 ,20 )
248- ```
249- * Added support for multi values in select statement
34+ * [ Release Notes] ( https://github.com/JSQLParser/JSqlParser/releases )
35+ * Modifications before GitHubs release tagging are listed in the [ Older Releases] ( https://github.com/JSQLParser/JSqlParser/wiki/Older-Releases ) page.
25036
251- ``` sql
252- SELECT col FROM (VALUES 1 ,2 ) AS MY_TABLE(col)
253- ```
254- * Added extended support for analytic expressions (empty over clause, parameter within aggregat function)
25537
256- ``` sql
257- SELECT sum (a) over () FROM taba
258- ```
25938
260- ## BUILDING
39+ ## BUILDING from the sources
26140
26241As the project is a Maven project, building is rather simple by running:
26342
@@ -289,15 +68,7 @@ And this is the dependency declaration in your pom:
28968<dependency >
29069 <groupId >com.github.jsqlparser</groupId >
29170 <artifactId >jsqlparser</artifactId >
292- <version >0.8.6 </version >
71+ <version >0.9 </version >
29372</dependency >
29473```
29574
296- ## Original project
297-
298- This is a fork of the jsqlparser originally developed by ultimoamore.
299-
300- Original project websites:
301-
302- * http://jsqlparser.sourceforge.net
303- * http://sourceforge.net/projects/jsqlparser/
0 commit comments