Skip to content

Commit 779fc99

Browse files
committed
Merge origin/master
2 parents 18a3c4a + 1b4e995 commit 779fc99

File tree

10 files changed

+58
-68
lines changed

10 files changed

+58
-68
lines changed

README.md

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ JSqlParser is dual licensed under **LGPL V2.1** or **Apache Software License, Ve
2222
Please provide feedback on https://github.com/JSQLParser/JSqlParser/issues/677, about removing bracket identifier quotation to support array processing.
2323

2424
## News
25+
* Released version **2.0** of JSqlParser
2526
* breaking **API** change: to support chained functions attribute type was changed to **Expression**
2627
* Released version **1.4** of JSqlParser
2728
* Released version **1.3** of JSqlParser
@@ -57,24 +58,8 @@ To help JSqlParser's development you are encouraged to provide
5758

5859
Also I would like to know about needed examples or documentation stuff.
5960

60-
## Extensions in the latest SNAPSHOT version 2.0
61-
62-
* support for **GROUPING SETS**
63-
* first support for db date arithmetic
64-
* support for chained functions
65-
* first support for **FOR XML PATH**
66-
* support for **NEXTVAL FOR**
67-
* changed all source code license headers to reflect the dual license of JSqlParser more correctly
68-
* support of **OPTIMIZE FOR 20 ROWS** like expressions
69-
* allowed conditions within **then** and **else** of a **case** statement
70-
* **SELECT * FROM mytable WHERE CASE WHEN a = 1 THEN b IN (1,2,3) ELSE c IN (1,2,3) END**
71-
* **change of parsing** for not within condition: outer not is represented now by NotExpression
72-
* support of named parameters for execute: **EXEC procedure @param = 'foo'**
73-
* support multivalue set statement
74-
* support of **describe**
75-
* support of **explain**
76-
* support of prefix **_utf8'strings'**
77-
* allow top keyword as table / column / alias name
61+
## Extensions in the latest SNAPSHOT version 2.1
62+
7863

7964
## Extensions of JSqlParser releases
8065

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<modelVersion>4.0.0</modelVersion>
33
<groupId>com.github.jsqlparser</groupId>
44
<artifactId>jsqlparser</artifactId>
5-
<version>2.0-SNAPSHOT</version>
5+
<version>2.1-SNAPSHOT</version>
66
<name>JSQLParser library</name>
77
<inceptionYear>2004</inceptionYear>
88
<organization>
@@ -355,6 +355,7 @@
355355
<property>
356356
<name>!skipCheckSources</name>
357357
</property>
358+
<jdk>[1.8,)</jdk>
358359
</activation>
359360
<build>
360361
<plugins>
@@ -413,7 +414,7 @@
413414
<dependency>
414415
<groupId>com.puppycrawl.tools</groupId>
415416
<artifactId>checkstyle</artifactId>
416-
<version>6.19</version>
417+
<version>8.18</version>
417418
</dependency>
418419
</dependencies>
419420
</plugin>

src/main/java/net/sf/jsqlparser/expression/operators/relational/NamedExpressionList.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
import java.util.Arrays;
1313
import java.util.List;
14-
1514
import net.sf.jsqlparser.expression.Expression;
1615

1716
public class NamedExpressionList implements ItemsList {
@@ -25,8 +24,8 @@ public NamedExpressionList() {
2524
public NamedExpressionList(List<Expression> expressions) {
2625
this.expressions = expressions;
2726
}
28-
29-
public NamedExpressionList(Expression ... expressions) {
27+
28+
public NamedExpressionList(Expression... expressions) {
3029
this.expressions = Arrays.asList(expressions);
3130
}
3231

@@ -38,7 +37,6 @@ public List<String> getNames() {
3837
return names;
3938
}
4039

41-
4240
public void setExpressions(List<Expression> list) {
4341
expressions = list;
4442
}
@@ -47,7 +45,6 @@ public void setNames(List<String> list) {
4745
names = list;
4846
}
4947

50-
5148
@Override
5249
public void accept(ItemsListVisitor itemsListVisitor) {
5350
itemsListVisitor.visit(this);
@@ -58,13 +55,13 @@ public String toString() {
5855

5956
StringBuilder ret = new StringBuilder();
6057
ret.append("(");
61-
for(int i=0; i<expressions.size(); i++){
62-
if(i>0){
58+
for (int i = 0; i < expressions.size(); i++) {
59+
if (i > 0) {
6360
ret.append(" ");
6461
}
65-
if(! names.get(i).equals("")){
62+
if (!names.get(i).equals("")) {
6663
ret.append(names.get(i)).append(" ").append(expressions.get(i));
67-
}else{
64+
} else {
6865
ret.append(expressions.get(i));
6966
}
7067
}

src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import java.util.Arrays;
1414
import java.util.Collections;
1515
import java.util.List;
16-
1716
import net.sf.jsqlparser.statement.create.table.ColDataType;
1817
import net.sf.jsqlparser.statement.create.table.Index;
1918
import net.sf.jsqlparser.statement.select.PlainSelect;
@@ -148,12 +147,12 @@ public String getConstraintName() {
148147
public void setConstraintName(final String constraintName) {
149148
this.constraintName = constraintName;
150149
}
151-
150+
152151
public boolean isConstraintIfExists() {
153152
return constraintIfExists;
154153
}
155-
156-
public void setConstraintIfExists( boolean constraintIfExists ) {
154+
155+
public void setConstraintIfExists(boolean constraintIfExists) {
157156
this.constraintIfExists = constraintIfExists;
158157
}
159158

@@ -234,8 +233,8 @@ public String toString() {
234233
if (columnName != null) {
235234
b.append("COLUMN ").append(columnName);
236235
} else if (getColDataTypeList() != null) {
237-
if(operation == AlterOperation.CHANGE) {
238-
if(optionalSpecifier != null) {
236+
if (operation == AlterOperation.CHANGE) {
237+
if (optionalSpecifier != null) {
239238
b.append(optionalSpecifier).append(" ");
240239
}
241240
b.append(columnOldName).append(" ");
@@ -250,8 +249,8 @@ public String toString() {
250249
}
251250
} else if (constraintName != null) {
252251
b.append("CONSTRAINT ");
253-
if(constraintIfExists) {
254-
b.append("IF EXISTS ");
252+
if (constraintIfExists) {
253+
b.append("IF EXISTS ");
255254
}
256255
b.append(constraintName);
257256
} else if (pkColumns != null) {
@@ -264,7 +263,7 @@ public String toString() {
264263
} else {
265264
b.append(" INDEX ");
266265
}
267-
b.append(ukName);
266+
b.append(ukName);
268267
}
269268
b.append(" (").append(PlainSelect.getStringList(ukColumns)).append(")");
270269
} else if (fkColumns != null) {
@@ -287,7 +286,7 @@ public String toString() {
287286
if (getUseEqual()) {
288287
b.append('=');
289288
}
290-
if (parameters!=null && !parameters.isEmpty()) {
289+
if (parameters != null && !parameters.isEmpty()) {
291290
b.append(' ').append(PlainSelect.getStringList(parameters, false, false));
292291
}
293292

@@ -325,7 +324,7 @@ public List<String> getColumnSpecs() {
325324

326325
@Override
327326
public String toString() {
328-
return columnName + ( withType ? " TYPE " : " " ) + colDataType + parametersToString();
327+
return columnName + (withType ? " TYPE " : " ") + colDataType + parametersToString();
329328
}
330329

331330
private String parametersToString() {

src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,12 @@ public void setUseReplace(boolean useReplace) {
6060
this.useReplace = useReplace;
6161
}
6262

63-
6463
@Override
6564
public String toString() {
6665
StringBuilder sql;
67-
if(useReplace){
66+
if (useReplace) {
6867
sql = new StringBuilder("REPLACE ");
69-
}else{
68+
} else {
7069
sql = new StringBuilder("ALTER ");
7170
}
7271
sql.append("VIEW ");

src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99
*/
1010
package net.sf.jsqlparser.statement.select;
1111

12-
import net.sf.jsqlparser.expression.Alias;
13-
1412
import java.util.List;
13+
import net.sf.jsqlparser.expression.Alias;
1514

1615
public class SubJoin implements FromItem {
1716

@@ -65,7 +64,7 @@ public void setAlias(Alias alias) {
6564
public String toString() {
6665
StringBuilder sb = new StringBuilder();
6766
sb.append("(").append(left);
68-
for(Join j : joinList) {
67+
for (Join j : joinList) {
6968
sb.append(" ").append(j);
7069
}
7170

src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@ public void setTable(Table table) {
3131
this.table = table;
3232
}
3333

34-
public boolean getCascade(){
34+
public boolean getCascade() {
3535
return cascade;
3636
}
3737

38-
public void setCascade(boolean c){
39-
cascade=c;
38+
public void setCascade(boolean c) {
39+
cascade = c;
4040
}
4141

4242
@Override
4343
public String toString() {
44-
if(cascade){
45-
return "TRUNCATE TABLE " + table+" CASCADE";
44+
if (cascade) {
45+
return "TRUNCATE TABLE " + table + " CASCADE";
4646
}
4747
return "TRUNCATE TABLE " + table;
4848
}

src/main/java/net/sf/jsqlparser/util/cnfexpression/MultipleExpression.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
package net.sf.jsqlparser.util.cnfexpression;
1111

1212
import java.util.List;
13-
1413
import net.sf.jsqlparser.expression.Expression;
1514
import net.sf.jsqlparser.expression.ExpressionVisitor;
1615
import net.sf.jsqlparser.expression.NullValue;
@@ -19,58 +18,58 @@
1918
public abstract class MultipleExpression extends ASTNodeAccessImpl implements Expression {
2019

2120
private final List<Expression> childlist;
22-
21+
2322
public MultipleExpression(List<Expression> childlist) {
2423
this.childlist = childlist;
2524
}
26-
25+
2726
public int size() {
2827
return childlist.size();
2928
}
30-
29+
3130
@Override
3231
public void accept(ExpressionVisitor expressionVisitor) {
3332
expressionVisitor.visit(new NullValue());
3433
}
35-
34+
3635
public List<Expression> getList() {
3736
return childlist;
3837
}
39-
38+
4039
public Expression getChild(int index) {
4140
return childlist.get(index);
4241
}
43-
42+
4443
public Expression removeChild(int index) {
4544
return childlist.remove(index);
4645
}
47-
46+
4847
public void setChild(int index, Expression express) {
4948
childlist.set(index, express);
5049
}
51-
50+
5251
public int getIndex(Expression express) {
5352
return childlist.indexOf(express);
5453
}
55-
54+
5655
public void addChild(int index, Expression express) {
5756
childlist.add(index, express);
5857
}
59-
58+
6059
public abstract String getStringExpression();
61-
60+
6261
@Override
6362
public String toString() {
6463
StringBuilder sb = new StringBuilder();
6564
sb.append("(");
66-
for(int i=0; i<size(); i++) {
65+
for (int i = 0; i < size(); i++) {
6766
sb.append(getChild(i));
68-
if(i!=size() - 1) {
67+
if (i != size() - 1) {
6968
sb.append(" ").append(getStringExpression()).append(" ");
7069
}
7170
}
7271
sb.append(")");
7372
return sb.toString();
7473
}
75-
74+
7675
}

src/main/java/net/sf/jsqlparser/util/deparser/AlterViewDeParser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ public AlterViewDeParser(StringBuilder buffer, SelectVisitor selectVisitor) {
3333
}
3434

3535
public void deParse(AlterView alterView) {
36-
if(alterView.isUseReplace()){
36+
if (alterView.isUseReplace()) {
3737
buffer.append("REPLACE ");
38-
}else{
38+
} else {
3939
buffer.append("ALTER ");
4040
}
4141
buffer.append("VIEW ").append(alterView.getView().getFullyQualifiedName());

src/test/java/net/sf/jsqlparser/statement/select/SelectTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3608,4 +3608,15 @@ public void testGroupingSets2() throws JSQLParserException {
36083608
public void testGroupingSets3() throws JSQLParserException {
36093609
assertSqlCanBeParsedAndDeparsed("SELECT COL_1 FROM TABLE_1 GROUP BY GROUPING SETS (COL_1, ())");
36103610
}
3611+
3612+
@Test
3613+
public void testLongQualifiedNamesIssue763() throws JSQLParserException {
3614+
assertSqlCanBeParsedAndDeparsed("SELECT mongodb.test.test.intField, postgres.test.test.intField, postgres.test.test.datefield FROM mongodb.test.test JOIN postgres.postgres.test.test ON mongodb.test.test.intField = postgres.test.test.intField WHERE mongodb.test.test.intField = 123");
3615+
}
3616+
3617+
@Test
3618+
public void testLongQualifiedNamesIssue763_2() throws JSQLParserException {
3619+
Statement parse = CCJSqlParserUtil.parse(new StringReader("SELECT mongodb.test.test.intField, postgres.test.test.intField, postgres.test.test.datefield FROM mongodb.test.test JOIN postgres.postgres.test.test ON mongodb.test.test.intField = postgres.test.test.intField WHERE mongodb.test.test.intField = 123"));
3620+
System.out.println(parse.toString());
3621+
}
36113622
}

0 commit comments

Comments
 (0)