Skip to content

Commit f639e9c

Browse files
committed
Merge origin/master
2 parents 89f202a + b59151e commit f639e9c

24 files changed

+364
-42
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ Also I would like to know about needed examples or documentation stuff.
6060

6161
## Extensions in the latest SNAPSHOT version 2.1
6262

63+
* support for **similar to** statement
64+
* support for **show** statment (API - change)
6365
* introduces Statement streaming support by **CCJSqlParserUtil.streamStatements**
6466
* improved nested bracket parsing performance by a large scale
6567

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
<dependency>
111111
<groupId>net.java.dev.javacc</groupId>
112112
<artifactId>javacc</artifactId>
113-
<version>7.0.3</version>
113+
<version>7.0.4</version>
114114
</dependency>
115115
</dependencies>
116116
</plugin>

src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo;
3838
import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator;
3939
import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator;
40+
import net.sf.jsqlparser.expression.operators.relational.SimilarToExpression;
4041
import net.sf.jsqlparser.schema.Column;
4142
import net.sf.jsqlparser.statement.select.SubSelect;
4243

@@ -172,4 +173,6 @@ public interface ExpressionVisitor {
172173

173174
public void visit(CollateExpression aThis);
174175

176+
public void visit(SimilarToExpression aThis);
177+
175178
}

src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,4 +501,9 @@ public void visit(NextValExpression nextVal) {
501501
public void visit(CollateExpression col) {
502502
col.getLeftExpression().accept(this);
503503
}
504+
505+
@Override
506+
public void visit(SimilarToExpression expr) {
507+
visitBinaryExpression(expr);
508+
}
504509
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*-
2+
* #%L
3+
* JSQLParser library
4+
* %%
5+
* Copyright (C) 2004 - 2019 JSQLParser
6+
* %%
7+
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
8+
* #L%
9+
*/
10+
package net.sf.jsqlparser.expression.operators.relational;
11+
12+
import net.sf.jsqlparser.expression.BinaryExpression;
13+
import net.sf.jsqlparser.expression.ExpressionVisitor;
14+
15+
public class SimilarToExpression extends BinaryExpression {
16+
17+
private boolean not = false;
18+
private String escape = null;
19+
20+
public boolean isNot() {
21+
return not;
22+
}
23+
24+
public void setNot(boolean b) {
25+
not = b;
26+
}
27+
28+
@Override
29+
public void accept(ExpressionVisitor expressionVisitor) {
30+
expressionVisitor.visit(this);
31+
}
32+
33+
@Override
34+
public String getStringExpression() {
35+
return "SIMILAR TO";
36+
}
37+
38+
@Override
39+
public String toString() {
40+
String retval = getLeftExpression() + " " + (not ? "NOT " : "") + getStringExpression() + " " + getRightExpression();
41+
if (escape != null) {
42+
retval += " ESCAPE " + "'" + escape + "'";
43+
}
44+
45+
return retval;
46+
}
47+
48+
public String getEscape() {
49+
return escape;
50+
}
51+
52+
public void setEscape(String escape) {
53+
this.escape = escape;
54+
}
55+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*-
2+
* #%L
3+
* JSQLParser library
4+
* %%
5+
* Copyright (C) 2004 - 2019 JSQLParser
6+
* %%
7+
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
8+
* #L%
9+
*/
10+
package net.sf.jsqlparser.statement;
11+
12+
public class ShowColumnsStatement implements Statement {
13+
14+
private String tableName;
15+
16+
public ShowColumnsStatement(String tableName) {
17+
this.tableName = tableName;
18+
}
19+
20+
public String getTableName() {
21+
return tableName;
22+
}
23+
24+
public void setTableName(String tableName) {
25+
this.tableName = tableName;
26+
}
27+
28+
@Override
29+
public String toString() {
30+
return "SHOW COLUMNS FROM " + tableName;
31+
}
32+
33+
@Override
34+
public void accept(StatementVisitor statementVisitor) {
35+
statementVisitor.visit(this);
36+
}
37+
}

src/main/java/net/sf/jsqlparser/statement/ShowStatement.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111

1212
public class ShowStatement implements Statement {
1313

14-
private String tableName;
14+
private String name;
1515

16-
public ShowStatement(String tableName) {
17-
this.tableName = tableName;
16+
public ShowStatement(String name) {
17+
this.name = name;
1818
}
1919

20-
public String getTableName() {
21-
return tableName;
20+
public String getName() {
21+
return name;
2222
}
2323

24-
public void setTableName(String tableName) {
25-
this.tableName = tableName;
24+
public void setName(String name) {
25+
this.name = name;
2626
}
2727

2828
@Override
2929
public String toString() {
30-
return "SHOW COLUMNS FROM " + tableName;
30+
return "SHOW " + name;
3131
}
3232

3333
@Override

src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public interface StatementVisitor {
6161

6262
void visit(SetStatement set);
6363

64-
void visit(ShowStatement set);
64+
void visit(ShowColumnsStatement set);
6565

6666
void visit(Merge merge);
6767

@@ -78,4 +78,6 @@ public interface StatementVisitor {
7878
void visit(DescribeStatement describe);
7979

8080
public void visit(ExplainStatement aThis);
81+
82+
public void visit(ShowStatement aThis);
8183
}

src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void visit(SetStatement set) {
112112
}
113113

114114
@Override
115-
public void visit(ShowStatement set) {
115+
public void visit(ShowColumnsStatement set) {
116116
}
117117

118118
@Override
@@ -147,4 +147,8 @@ public void visit(DescribeStatement describe) {
147147
@Override
148148
public void visit(ExplainStatement aThis) {
149149
}
150+
151+
@Override
152+
public void visit(ShowStatement aThis) {
153+
}
150154
}

src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ public String toString() {
5757
buffer.append(" ON ");
5858
buffer.append(table.getFullyQualifiedName());
5959

60+
if (index.getUsing() != null){
61+
buffer.append(" USING ");
62+
buffer.append(index.getUsing());
63+
}
64+
6065
if (index.getColumnsNames() != null) {
6166
buffer.append(" (");
6267

0 commit comments

Comments
 (0)