40
40
/**
41
41
* Find all used tables within an select statement.
42
42
*/
43
- public class TablesNamesFinder implements SelectVisitor , FromItemVisitor , ExpressionVisitor , ItemsListVisitor {
43
+ public class TablesNamesFinder implements SelectVisitor , FromItemVisitor , ExpressionVisitor , ItemsListVisitor , SelectItemVisitor {
44
44
45
45
private List <String > tables ;
46
46
/**
@@ -163,6 +163,12 @@ public void visit(WithItem withItem) {
163
163
164
164
@ Override
165
165
public void visit (PlainSelect plainSelect ) {
166
+ if (plainSelect .getSelectItems () != null ) {
167
+ for (SelectItem item : plainSelect .getSelectItems ()) {
168
+ item .accept (this );
169
+ }
170
+ }
171
+
166
172
plainSelect .getFromItem ().accept (this );
167
173
168
174
if (plainSelect .getJoins () != null ) {
@@ -173,7 +179,9 @@ public void visit(PlainSelect plainSelect) {
173
179
if (plainSelect .getWhere () != null ) {
174
180
plainSelect .getWhere ().accept (this );
175
181
}
176
-
182
+ if (plainSelect .getOracleHierarchical () != null ) {
183
+ plainSelect .getOracleHierarchical ().accept (this );
184
+ }
177
185
}
178
186
179
187
@ Override
@@ -455,6 +463,13 @@ public void visit(JdbcNamedParameter jdbcNamedParameter) {
455
463
456
464
@ Override
457
465
public void visit (OracleHierarchicalExpression oexpr ) {
466
+ if (oexpr .getStartExpression () != null ) {
467
+ oexpr .getStartExpression ().accept (this );
468
+ }
469
+
470
+ if (oexpr .getConnectExpression () != null ) {
471
+ oexpr .getConnectExpression ().accept (this );
472
+ }
458
473
}
459
474
460
475
@ Override
@@ -463,13 +478,24 @@ public void visit(RegExpMatchOperator rexpr) {
463
478
}
464
479
465
480
@ Override
466
- public void visit (RegExpMySQLOperator rexpr ) {
467
- visitBinaryExpression (rexpr );
468
- }
469
-
481
+ public void visit (RegExpMySQLOperator rexpr ) {
482
+ visitBinaryExpression (rexpr );
483
+ }
484
+
470
485
@ Override
471
486
public void visit (JsonExpression jsonExpr ) {
472
487
}
473
488
474
-
489
+ @ Override
490
+ public void visit (AllColumns allColumns ) {
491
+ }
492
+
493
+ @ Override
494
+ public void visit (AllTableColumns allTableColumns ) {
495
+ }
496
+
497
+ @ Override
498
+ public void visit (SelectExpressionItem item ) {
499
+ item .getExpression ().accept (this );
500
+ }
475
501
}
0 commit comments