File tree Expand file tree Collapse file tree 12 files changed +151
-20
lines changed
jjtree/net/sf/jsqlparser/parser
test/java/net/sf/jsqlparser/statement Expand file tree Collapse file tree 12 files changed +151
-20
lines changed Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ Also I would like to know about needed examples or documentation stuff.
60
60
61
61
## Extensions in the latest SNAPSHOT version 2.1
62
62
63
+ * support for ** show** statment (API - change)
63
64
* introduces Statement streaming support by ** CCJSqlParserUtil.streamStatements**
64
65
* improved nested bracket parsing performance by a large scale
65
66
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change 11
11
12
12
public class ShowStatement implements Statement {
13
13
14
- private String tableName ;
14
+ private String name ;
15
15
16
- public ShowStatement (String tableName ) {
17
- this .tableName = tableName ;
16
+ public ShowStatement (String name ) {
17
+ this .name = name ;
18
18
}
19
19
20
- public String getTableName () {
21
- return tableName ;
20
+ public String getName () {
21
+ return name ;
22
22
}
23
23
24
- public void setTableName (String tableName ) {
25
- this .tableName = tableName ;
24
+ public void setName (String name ) {
25
+ this .name = name ;
26
26
}
27
27
28
28
@ Override
29
29
public String toString () {
30
- return "SHOW COLUMNS FROM " + tableName ;
30
+ return "SHOW " + name ;
31
31
}
32
32
33
33
@ Override
Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ public interface StatementVisitor {
61
61
62
62
void visit (SetStatement set );
63
63
64
- void visit (ShowStatement set );
64
+ void visit (ShowColumnsStatement set );
65
65
66
66
void visit (Merge merge );
67
67
@@ -78,4 +78,6 @@ public interface StatementVisitor {
78
78
void visit (DescribeStatement describe );
79
79
80
80
public void visit (ExplainStatement aThis );
81
+
82
+ public void visit (ShowStatement aThis );
81
83
}
Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ public void visit(SetStatement set) {
112
112
}
113
113
114
114
@ Override
115
- public void visit (ShowStatement set ) {
115
+ public void visit (ShowColumnsStatement set ) {
116
116
}
117
117
118
118
@ Override
@@ -147,4 +147,8 @@ public void visit(DescribeStatement describe) {
147
147
@ Override
148
148
public void visit (ExplainStatement aThis ) {
149
149
}
150
+
151
+ @ Override
152
+ public void visit (ShowStatement aThis ) {
153
+ }
150
154
}
Original file line number Diff line number Diff line change 88
88
import net .sf .jsqlparser .statement .DescribeStatement ;
89
89
import net .sf .jsqlparser .statement .ExplainStatement ;
90
90
import net .sf .jsqlparser .statement .SetStatement ;
91
+ import net .sf .jsqlparser .statement .ShowColumnsStatement ;
91
92
import net .sf .jsqlparser .statement .ShowStatement ;
92
93
import net .sf .jsqlparser .statement .Statement ;
93
94
import net .sf .jsqlparser .statement .StatementVisitor ;
@@ -733,7 +734,7 @@ public void visit(SetStatement set) {
733
734
}
734
735
735
736
@ Override
736
- public void visit (ShowStatement set ) {
737
+ public void visit (ShowColumnsStatement set ) {
737
738
throw new UnsupportedOperationException (NOT_SUPPORTED_YET );
738
739
}
739
740
@@ -851,4 +852,8 @@ public void visit(NextValExpression nextVal) {
851
852
public void visit (CollateExpression col ) {
852
853
col .getLeftExpression ().accept (this );
853
854
}
855
+
856
+ @ Override
857
+ public void visit (ShowStatement aThis ) {
858
+ }
854
859
}
Original file line number Diff line number Diff line change
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 .util .deparser ;
11
+
12
+ import net .sf .jsqlparser .statement .ShowColumnsStatement ;
13
+
14
+ public class ShowColumnsStatementDeParser {
15
+
16
+ protected StringBuilder buffer ;
17
+
18
+ public ShowColumnsStatementDeParser (StringBuilder buffer ) {
19
+ this .buffer = buffer ;
20
+ }
21
+
22
+ public StringBuilder getBuffer () {
23
+ return buffer ;
24
+ }
25
+
26
+ public void setBuffer (StringBuilder buffer ) {
27
+ this .buffer = buffer ;
28
+ }
29
+
30
+ public void deParse (ShowColumnsStatement show ) {
31
+ buffer .append ("SHOW COLUMNS FROM " ).append (show .getTableName ());
32
+ }
33
+ }
Original file line number Diff line number Diff line change @@ -28,6 +28,6 @@ public void setBuffer(StringBuilder buffer) {
28
28
}
29
29
30
30
public void deParse (ShowStatement show ) {
31
- buffer .append ("SHOW COLUMNS FROM " ).append (show .getTableName ());
31
+ buffer .append ("SHOW " ).append (show .getName ());
32
32
}
33
33
}
Original file line number Diff line number Diff line change 15
15
import net .sf .jsqlparser .statement .DescribeStatement ;
16
16
import net .sf .jsqlparser .statement .ExplainStatement ;
17
17
import net .sf .jsqlparser .statement .SetStatement ;
18
+ import net .sf .jsqlparser .statement .ShowColumnsStatement ;
18
19
import net .sf .jsqlparser .statement .ShowStatement ;
19
20
import net .sf .jsqlparser .statement .Statement ;
20
21
import net .sf .jsqlparser .statement .StatementVisitor ;
@@ -223,8 +224,8 @@ public void visit(UseStatement use) {
223
224
}
224
225
225
226
@ Override
226
- public void visit (ShowStatement show ) {
227
- new ShowStatementDeParser (buffer ).deParse (show );
227
+ public void visit (ShowColumnsStatement show ) {
228
+ new ShowColumnsStatementDeParser (buffer ).deParse (show );
228
229
}
229
230
230
231
@ Override
@@ -261,4 +262,9 @@ public void visit(ExplainStatement explain) {
261
262
buffer .append ("EXPLAIN " );
262
263
explain .getStatement ().accept (this );
263
264
}
265
+
266
+ @ Override
267
+ public void visit (ShowStatement show ) {
268
+ new ShowStatementDeParser (buffer ).deParse (show );
269
+ }
264
270
}
Original file line number Diff line number Diff line change @@ -407,6 +407,8 @@ Statement SingleStatement() :
407
407
|
408
408
stm = Set()
409
409
|
410
+ LOOKAHEAD(2) stm = ShowColumns()
411
+ |
410
412
stm = Show()
411
413
|
412
414
stm = Use()
@@ -538,13 +540,23 @@ UseStatement Use(): {
538
540
}
539
541
}
540
542
541
- ShowStatement Show (): {
543
+ ShowColumnsStatement ShowColumns (): {
542
544
String tableName;
543
545
}
544
546
{
545
547
<K_SHOW> <K_COLUMNS> <K_FROM> tableName = RelObjectNameExt()
546
548
{
547
- return new ShowStatement(tableName);
549
+ return new ShowColumnsStatement(tableName);
550
+ }
551
+ }
552
+
553
+ ShowStatement Show(): {
554
+ String name;
555
+ }
556
+ {
557
+ <K_SHOW> name = RelObjectNameExt()
558
+ {
559
+ return new ShowStatement(name);
548
560
}
549
561
}
550
562
You can’t perform that action at this time.
0 commit comments