This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 088aa52 Refactor VisitorEngine (#8622)
088aa52 is described below
commit 088aa52494447351e55c7fe63ca4405b14add83d
Author: JingShang Lu <[email protected]>
AuthorDate: Thu Dec 17 20:01:03 2020 +0800
Refactor VisitorEngine (#8622)
* refact VisitorEngine
* fix
* fix
* fix
* fix
* fix
---
.../parser/sql/SQLStatementParserExecutor.java | 4 +++-
.../format/impl/MySQLDALFormatSQLVisitor.java | 8 ++++++++
.../format/impl/MySQLDCLFormatSQLVisitor.java | 8 ++++++++
.../format/impl/MySQLDDLFormatSQLVisitor.java | 8 ++++++++
.../format/impl/MySQLDMLFormatSQLVisitor.java | 8 ++++++++
.../visitor/format/impl/MySQLFormatSQLVisitor.java | 24 +++++++++++++++++++---
.../format/impl/MySQLRLFormatSQLVisitor.java | 8 ++++++++
.../format/impl/MySQLTCLFormatSQLVisitor.java | 8 ++++++++
.../impl/MySQLDALStatementSQLVisitor.java | 9 +++++++-
.../impl/MySQLDCLStatementSQLVisitor.java | 9 +++++++-
.../impl/MySQLDDLStatementSQLVisitor.java | 9 +++++++-
.../impl/MySQLDMLStatementSQLVisitor.java | 7 +++++++
.../statement/impl/MySQLRLStatementSQLVisitor.java | 10 ++++++++-
.../statement/impl/MySQLStatementSQLVisitor.java | 6 ++++++
.../impl/MySQLTCLStatementSQLVisitor.java | 10 ++++++++-
.../impl/OracleDALStatementSQLVisitor.java | 8 ++++++++
.../impl/OracleDCLStatementSQLVisitor.java | 9 +++++++-
.../impl/OracleDDLStatementSQLVisitor.java | 9 +++++++-
.../impl/OracleDMLStatementSQLVisitor.java | 9 +++++++-
.../statement/impl/OracleStatementSQLVisitor.java | 8 +++++++-
.../impl/OracleTCLStatementSQLVisitor.java | 10 ++++++++-
.../impl/PostgreSQLDALStatementSQLVisitor.java | 9 +++++++-
.../impl/PostgreSQLDCLStatementSQLVisitor.java | 9 +++++++-
.../impl/PostgreSQLDDLStatementSQLVisitor.java | 9 +++++++-
.../impl/PostgreSQLDMLStatementSQLVisitor.java | 9 +++++++-
.../impl/PostgreSQLStatementSQLVisitor.java | 8 +++++++-
.../impl/PostgreSQLTCLStatementSQLVisitor.java | 10 ++++++++-
.../impl/SQL92DALStatementSQLVisitor.java | 8 ++++++++
.../impl/SQL92DCLStatementSQLVisitor.java | 9 +++++++-
.../impl/SQL92DDLStatementSQLVisitor.java | 9 +++++++-
.../impl/SQL92DMLStatementSQLVisitor.java | 9 +++++++-
.../statement/impl/SQL92StatementSQLVisitor.java | 8 +++++++-
.../impl/SQL92TCLStatementSQLVisitor.java | 10 ++++++++-
.../impl/SQLServerDALStatementSQLVisitor.java | 8 ++++++++
.../impl/SQLServerDCLStatementSQLVisitor.java | 9 +++++++-
.../impl/SQLServerDDLStatementSQLVisitor.java | 9 +++++++-
.../impl/SQLServerDMLStatementSQLVisitor.java | 9 +++++++-
.../impl/SQLServerStatementSQLVisitor.java | 8 +++++++-
.../impl/SQLServerTCLStatementSQLVisitor.java | 10 ++++++++-
.../sql/parser/api/SQLVisitorEngine.java | 6 +++++-
.../sql/parser/core/visitor/SQLVisitorFactory.java | 21 +++++++++++--------
.../engine/SQLParserParameterizedTest.java | 3 ++-
42 files changed, 338 insertions(+), 41 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
index e42fd22..6090929 100644
---
a/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
+++
b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/sql/SQLStatementParserExecutor.java
@@ -21,6 +21,8 @@ import
org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
+import java.util.Properties;
+
/**
* SQL statement parser executor.
*/
@@ -32,7 +34,7 @@ public final class SQLStatementParserExecutor {
public SQLStatementParserExecutor(final String databaseType) {
parserEngine = new SQLParserEngine(databaseType);
- visitorEngine = new SQLVisitorEngine(databaseType, "STATEMENT");
+ visitorEngine = new SQLVisitorEngine(databaseType, "STATEMENT", new
Properties());
}
/**
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDALFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDALFormatSQLVisitor.java
index c7d92f0..8eb5450 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDALFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDALFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import java.util.Properties;
+
/**
* DAL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDALFormatSQLVisitor extends MySQLFormatSQLVisitor
implements DALSQLVisitor, SQLFormatVisitor {
+
+ public MySQLDALFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDCLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDCLFormatSQLVisitor.java
index e3c3034..5ae6a6b 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDCLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDCLFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
+import java.util.Properties;
+
/**
* DCL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDCLFormatSQLVisitor extends MySQLFormatSQLVisitor
implements DCLSQLVisitor, SQLFormatVisitor {
+
+ public MySQLDCLFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDDLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDDLFormatSQLVisitor.java
index 1081701..4c23370 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDDLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDDLFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
+import java.util.Properties;
+
/**
* DDL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDDLFormatSQLVisitor extends MySQLFormatSQLVisitor
implements DDLSQLVisitor, SQLFormatVisitor {
+
+ public MySQLDDLFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDMLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDMLFormatSQLVisitor.java
index 9272c40..f128c40 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDMLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLDMLFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
+import java.util.Properties;
+
/**
* DML Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDMLFormatSQLVisitor extends MySQLFormatSQLVisitor
implements DMLSQLVisitor, SQLFormatVisitor {
+
+ public MySQLDMLFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLFormatSQLVisitor.java
index 487eb29..cec15f6 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLFormatSQLVisitor.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import org.antlr.v4.runtime.tree.ParseTree;
import org.antlr.v4.runtime.tree.RuleNode;
@@ -68,16 +69,19 @@ import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TypeDat
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.WhereClauseContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.WithClauseContext;
+import java.util.Properties;
+
/**
* MySQL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
@Getter
@Setter
public abstract class MySQLFormatSQLVisitor extends
MySQLStatementBaseVisitor<String> {
private StringBuilder result = new StringBuilder();
- private boolean uperCase = true;
+ private boolean upperCase = true;
private boolean parameterized = true;
@@ -85,7 +89,21 @@ public abstract class MySQLFormatSQLVisitor extends
MySQLStatementBaseVisitor<St
private int lines;
- private final int projectionsCountOfLine = 3;
+ private int projectionsCountOfLine = 3;
+
+ public MySQLFormatSQLVisitor(final Properties props) {
+ if (null != props) {
+ if (props.containsKey("upperCase")) {
+ setUpperCase(Boolean.valueOf(props.getProperty("upperCase")));
+ }
+ if (props.containsKey("parameterized")) {
+
setParameterized(Boolean.valueOf(props.getProperty("parameterized")));
+ }
+ if (props.containsKey("projectionsCountOfLine")) {
+
setProjectionsCountOfLine(Integer.valueOf(props.getProperty("projectionsCountOfLine")));
+ }
+ }
+ }
@Override
public String visitSelect(final SelectContext ctx) {
@@ -677,7 +695,7 @@ public abstract class MySQLFormatSQLVisitor extends
MySQLStatementBaseVisitor<St
@Override
public String visitTerminal(final TerminalNode node) {
- if (isUperCase()) {
+ if (isUpperCase()) {
formatPrint(node.getText().toUpperCase());
} else {
formatPrint(node.getText().toLowerCase());
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLRLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLRLFormatSQLVisitor.java
index 363934b..6e1b9b9 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLRLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLRLFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
+import java.util.Properties;
+
/**
* RL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLRLFormatSQLVisitor extends MySQLFormatSQLVisitor
implements RLSQLVisitor, SQLFormatVisitor {
+
+ public MySQLRLFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLTCLFormatSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLTCLFormatSQLVisitor.java
index ced360c..ab709a1 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLTCLFormatSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/format/impl/MySQLTCLFormatSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.format.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLFormatVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
+import java.util.Properties;
+
/**
* TCL Format SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLTCLFormatSQLVisitor extends MySQLFormatSQLVisitor
implements TCLSQLVisitor, SQLFormatVisitor {
+
+ public MySQLTCLFormatSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDALStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDALStatementSQLVisitor.java
index 805d939..c20aeb4 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDALStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDALStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
@@ -102,12 +103,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
import java.util.Collection;
import java.util.LinkedList;
+import java.util.Properties;
/**
* DAL Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDALStatementSQLVisitor extends
MySQLStatementSQLVisitor implements DALSQLVisitor, SQLStatementVisitor {
-
+
+ public MySQLDALStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitUninstallPlugin(final UninstallPluginContext ctx) {
return new MySQLUninstallPluginStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDCLStatementSQLVisitor.java
index 95710c0..778f63e 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
@@ -47,12 +48,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQ
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dcl.MySQLSetRoleStatement;
import java.util.Optional;
+import java.util.Properties;
/**
* DCL Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDCLStatementSQLVisitor extends
MySQLStatementSQLVisitor implements DCLSQLVisitor, SQLStatementVisitor {
-
+
+ public MySQLDCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitGrant(final GrantContext ctx) {
MySQLGrantStatement result = new MySQLGrantStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
index 6da958e..dcbf0d8 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
import com.google.common.base.Preconditions;
+import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
@@ -137,12 +138,18 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* DDL Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDDLStatementSQLVisitor extends
MySQLStatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
+ public MySQLDDLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitCreateView(final CreateViewContext ctx) {
MySQLCreateViewStatement result = new MySQLCreateViewStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDMLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDMLStatementSQLVisitor.java
index 685dc30..409d803 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDMLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDMLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
@@ -28,12 +29,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQ
import java.util.ArrayList;
import java.util.List;
+import java.util.Properties;
/**
* DML Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLDMLStatementSQLVisitor extends
MySQLStatementSQLVisitor implements DMLSQLVisitor, SQLStatementVisitor {
+ public MySQLDMLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitCall(final CallContext ctx) {
List<ExpressionSegment> parameters = new ArrayList<>();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLRLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLRLStatementSQLVisitor.java
index 64ca3f3..f4d6709 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLRLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLRLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.RLSQLVisitor;
@@ -27,11 +28,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.rl.MySQL
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.rl.MySQLStartSlaveStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.rl.MySQLStopSlaveStatement;
+import java.util.Properties;
+
/**
* RL Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLRLStatementSQLVisitor extends MySQLStatementSQLVisitor
implements RLSQLVisitor, SQLStatementVisitor {
-
+
+ public MySQLRLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override public ASTNode visitChangeMasterTo(final ChangeMasterToContext
ctx) {
return new MySQLChangeMasterStatement();
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLStatementSQLVisitor.java
index a44dcc6..d938492 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLStatementSQLVisitor.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.misc.Interval;
import org.antlr.v4.runtime.tree.TerminalNode;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
@@ -184,15 +185,20 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* MySQL Statement SQL visitor.
*/
+@NoArgsConstructor
@Getter(AccessLevel.PROTECTED)
public abstract class MySQLStatementSQLVisitor extends
MySQLStatementBaseVisitor<ASTNode> {
private int currentParameterIndex;
+ public MySQLStatementSQLVisitor(final Properties props) {
+ }
+
@Override
public final ASTNode visitParameterMarker(final ParameterMarkerContext
ctx) {
return new ParameterMarkerValue(currentParameterIndex++);
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLTCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLTCLStatementSQLVisitor.java
index 7918c2f..7709bd3 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLTCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLTCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.mysql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
@@ -39,11 +40,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.tcl.MySQ
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.tcl.MySQLSetTransactionStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.tcl.MySQLXAStatement;
+import java.util.Properties;
+
/**
* TCL Statement SQL visitor for MySQL.
*/
+@NoArgsConstructor
public final class MySQLTCLStatementSQLVisitor extends
MySQLStatementSQLVisitor implements TCLSQLVisitor, SQLStatementVisitor {
-
+
+ public MySQLTCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
MySQLSetTransactionStatement result = new
MySQLSetTransactionStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDALStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDALStatementSQLVisitor.java
index 4a1fbb2..e5bfb5a 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDALStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDALStatementSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import java.util.Properties;
+
/**
* DAL Statement SQL visitor for Oracle.
*/
+@NoArgsConstructor
public final class OracleDALStatementSQLVisitor extends
OracleStatementSQLVisitor implements DALSQLVisitor, SQLStatementVisitor {
+
+ public OracleDALStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
index 49f7cc0..273d83e 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
@@ -41,12 +42,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.dcl.Ora
import java.util.Collection;
import java.util.Collections;
+import java.util.Properties;
/**
* DCL Statement SQL visitor for Oracle.
*/
+@NoArgsConstructor
public final class OracleDCLStatementSQLVisitor extends
OracleStatementSQLVisitor implements DCLSQLVisitor, SQLStatementVisitor {
-
+
+ public OracleDCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitGrant(final GrantContext ctx) {
OracleGrantStatement result = new OracleGrantStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDDLStatementSQLVisitor.java
index 5a5e9cb..d86f9d5 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDDLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
@@ -63,12 +64,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.ddl.Ora
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
+import java.util.Properties;
/**
* DDL Statement SQL visitor for Oracle.
*/
+@NoArgsConstructor
public final class OracleDDLStatementSQLVisitor extends
OracleStatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
+ public OracleDDLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@SuppressWarnings("unchecked")
@Override
public ASTNode visitCreateTable(final CreateTableContext ctx) {
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDMLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDMLStatementSQLVisitor.java
index 35ceabb..9a9652a 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDMLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleDMLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
@@ -96,12 +97,18 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* DML Statement SQL visitor for Oracle.
*/
+@NoArgsConstructor
public final class OracleDMLStatementSQLVisitor extends
OracleStatementSQLVisitor implements DMLSQLVisitor, SQLStatementVisitor {
-
+
+ public OracleDMLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitInsert(final InsertContext ctx) {
// TODO :FIXME, since there is no segment for insertValuesClause,
InsertStatement is created by sub rule.
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleStatementSQLVisitor.java
index 17728b1..af0d209 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleStatementSQLVisitor.java
@@ -20,6 +20,7 @@ package
org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.misc.Interval;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -101,15 +102,20 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* Oracle Statement SQL visitor.
*/
+@NoArgsConstructor
@Getter(AccessLevel.PROTECTED)
public abstract class OracleStatementSQLVisitor extends
OracleStatementBaseVisitor<ASTNode> {
private int currentParameterIndex;
-
+
+ public OracleStatementSQLVisitor(final Properties props) {
+ }
+
@Override
public final ASTNode visitParameterMarker(final ParameterMarkerContext
ctx) {
return new ParameterMarkerValue(currentParameterIndex++);
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleTCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleTCLStatementSQLVisitor.java
index 8d4dc8e..2c99a5d 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleTCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/impl/OracleTCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
@@ -29,11 +30,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.Ora
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleSavepointStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleSetTransactionStatement;
+import java.util.Properties;
+
/**
* TCL Statement SQL visitor for Oracle.
*/
+@NoArgsConstructor
public final class OracleTCLStatementSQLVisitor extends
OracleStatementSQLVisitor implements TCLSQLVisitor, SQLStatementVisitor {
-
+
+ public OracleTCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
return new OracleSetTransactionStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDALStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDALStatementSQLVisitor.java
index 68766a6..86e51bf 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDALStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDALStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
@@ -34,12 +35,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.dal
import java.util.Collection;
import java.util.LinkedList;
+import java.util.Properties;
/**
* DAL Statement SQL visitor for PostgreSQL.
*/
+@NoArgsConstructor
public final class PostgreSQLDALStatementSQLVisitor extends
PostgreSQLStatementSQLVisitor implements DALSQLVisitor, SQLStatementVisitor {
-
+
+ public PostgreSQLDALStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitShow(final ShowContext ctx) {
return new PostgreSQLShowStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDCLStatementSQLVisitor.java
index bdab01c..65fcaf1 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
@@ -42,12 +43,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.dcl
import java.util.Collection;
import java.util.Optional;
+import java.util.Properties;
/**
* DCL Statement SQL visitor for PostgreSQL.
*/
+@NoArgsConstructor
public final class PostgreSQLDCLStatementSQLVisitor extends
PostgreSQLStatementSQLVisitor implements DCLSQLVisitor, SQLStatementVisitor {
-
+
+ public PostgreSQLDCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitGrant(final GrantContext ctx) {
PostgreSQLGrantStatement result = new PostgreSQLGrantStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
index 281bac2..dc759cb 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDDLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
@@ -89,12 +90,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.ddl
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
+import java.util.Properties;
/**
* DDL Statement SQL visitor for PostgreSQL.
*/
+@NoArgsConstructor
public final class PostgreSQLDDLStatementSQLVisitor extends
PostgreSQLStatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
+ public PostgreSQLDDLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@SuppressWarnings("unchecked")
@Override
public ASTNode visitCreateTable(final CreateTableContext ctx) {
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDMLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDMLStatementSQLVisitor.java
index d567169..bcffb1e 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDMLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLDMLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.tree.ParseTree;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
@@ -114,12 +115,18 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* DML Statement SQL visitor for PostgreSQL.
*/
+@NoArgsConstructor
public final class PostgreSQLDMLStatementSQLVisitor extends
PostgreSQLStatementSQLVisitor implements DMLSQLVisitor, SQLStatementVisitor {
-
+
+ public PostgreSQLDMLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitInsert(final InsertContext ctx) {
// TODO :FIXME, since there is no segment for insertValuesClause,
InsertStatement is created by sub rule.
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLStatementSQLVisitor.java
index 034a4ba..314fb57 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLStatementSQLVisitor.java
@@ -20,6 +20,7 @@ package
org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.misc.Interval;
import org.antlr.v4.runtime.tree.TerminalNode;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
@@ -93,15 +94,20 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.dml
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* PostgreSQL Statement SQL visitor.
*/
+@NoArgsConstructor
@Getter(AccessLevel.PROTECTED)
public abstract class PostgreSQLStatementSQLVisitor extends
PostgreSQLStatementBaseVisitor<ASTNode> {
private int currentParameterIndex;
-
+
+ public PostgreSQLStatementSQLVisitor(final Properties props) {
+ }
+
@Override
public final ASTNode visitParameterMarker(final ParameterMarkerContext
ctx) {
return new ParameterMarkerValue(currentParameterIndex++);
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLTCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLTCLStatementSQLVisitor.java
index 8279e1a..31922e3 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLTCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLTCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
@@ -31,11 +32,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.tcl
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.tcl.PostgreSQLSavepointStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.tcl.PostgreSQLSetTransactionStatement;
+import java.util.Properties;
+
/**
* TCL Statement SQL visitor for PostgreSQL.
*/
+@NoArgsConstructor
public final class PostgreSQLTCLStatementSQLVisitor extends
PostgreSQLStatementSQLVisitor implements TCLSQLVisitor, SQLStatementVisitor {
-
+
+ public PostgreSQLTCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
return new PostgreSQLSetTransactionStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DALStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DALStatementSQLVisitor.java
index 10d1f16..8dda324d 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DALStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DALStatementSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import java.util.Properties;
+
/**
* DAL Statement SQL visitor for SQL92.
*/
+@NoArgsConstructor
public final class SQL92DALStatementSQLVisitor extends
SQL92StatementSQLVisitor implements DALSQLVisitor, SQLStatementVisitor {
+
+ public SQL92DALStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DCLStatementSQLVisitor.java
index d8cf1d2..0988e90 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
@@ -29,12 +30,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.dcl.SQL9
import java.util.Collection;
import java.util.Collections;
+import java.util.Properties;
/**
* DCL Statement SQL visitor for SQL92.
*/
+@NoArgsConstructor
public final class SQL92DCLStatementSQLVisitor extends
SQL92StatementSQLVisitor implements DCLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQL92DCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitGrant(final GrantContext ctx) {
SQL92GrantStatement result = new SQL92GrantStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DDLStatementSQLVisitor.java
index 4020e0c..871f714 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DDLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
@@ -49,12 +50,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.ddl.SQL9
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.ddl.SQL92DropTableStatement;
import java.util.Collections;
+import java.util.Properties;
/**
* DDL Statement SQL visitor for SQL92.
*/
+@NoArgsConstructor
public final class SQL92DDLStatementSQLVisitor extends
SQL92StatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQL92DDLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@SuppressWarnings("unchecked")
@Override
public ASTNode visitCreateTable(final CreateTableContext ctx) {
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DMLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DMLStatementSQLVisitor.java
index 7dcf452..62d9e29 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DMLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92DMLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
@@ -92,12 +93,18 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* DML Statement SQL visitor for SQL92.
*/
+@NoArgsConstructor
public final class SQL92DMLStatementSQLVisitor extends
SQL92StatementSQLVisitor implements DMLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQL92DMLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitInsert(final InsertContext ctx) {
SQL92InsertStatement result = (SQL92InsertStatement)
visit(ctx.insertValuesClause());
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92StatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92StatementSQLVisitor.java
index 3a7a75a..9bf8259 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92StatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92StatementSQLVisitor.java
@@ -20,6 +20,7 @@ package
org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.misc.Interval;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -98,15 +99,20 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* SQL92 Statement SQL visitor.
*/
+@NoArgsConstructor
@Getter(AccessLevel.PROTECTED)
public abstract class SQL92StatementSQLVisitor extends
SQL92StatementBaseVisitor<ASTNode> {
private int currentParameterIndex;
-
+
+ public SQL92StatementSQLVisitor(final Properties props) {
+ }
+
@Override
public final ASTNode visitParameterMarker(final ParameterMarkerContext
ctx) {
return new ParameterMarkerValue(currentParameterIndex++);
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92TCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92TCLStatementSQLVisitor.java
index 22f1015..07436b7 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92TCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/impl/SQL92TCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sql92.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
@@ -27,11 +28,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.tcl.SQL9
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.tcl.SQL92RollbackStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.tcl.SQL92SetTransactionStatement;
+import java.util.Properties;
+
/**
* TCL Statement SQL visitor for SQL92.
*/
+@NoArgsConstructor
public final class SQL92TCLStatementSQLVisitor extends
SQL92StatementSQLVisitor implements TCLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQL92TCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
return new SQL92SetTransactionStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDALStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDALStatementSQLVisitor.java
index 5567352..9ecf234 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDALStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDALStatementSQLVisitor.java
@@ -17,11 +17,19 @@
package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DALSQLVisitor;
+import java.util.Properties;
+
/**
* DAL Statement SQL visitor for SQLServer.
*/
+@NoArgsConstructor
public final class SQLServerDALStatementSQLVisitor extends
SQLServerStatementSQLVisitor implements DALSQLVisitor, SQLStatementVisitor {
+
+ public SQLServerDALStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDCLStatementSQLVisitor.java
index cdeb476..ae977f9 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DCLSQLVisitor;
@@ -50,12 +51,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dcl.
import java.util.Collection;
import java.util.Collections;
+import java.util.Properties;
/**
* DCL Statement SQL visitor for SQLServer.
*/
+@NoArgsConstructor
public final class SQLServerDCLStatementSQLVisitor extends
SQLServerStatementSQLVisitor implements DCLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQLServerDCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitGrant(final GrantContext ctx) {
SQLServerGrantStatement result = new SQLServerGrantStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
index 0dc7c64..142e96e 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DDLSQLVisitor;
@@ -62,12 +63,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
+import java.util.Properties;
/**
* DDL Statement SQL visitor for SQLServer.
*/
+@NoArgsConstructor
public final class SQLServerDDLStatementSQLVisitor extends
SQLServerStatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQLServerDDLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@SuppressWarnings("unchecked")
@Override
public ASTNode visitCreateTable(final CreateTableContext ctx) {
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDMLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDMLStatementSQLVisitor.java
index 097c617..960c69b 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDMLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDMLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.type.DMLSQLVisitor;
@@ -119,12 +120,18 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Properties;
/**
* DML Statement SQL visitor for SQLServer.
*/
+@NoArgsConstructor
public final class SQLServerDMLStatementSQLVisitor extends
SQLServerStatementSQLVisitor implements DMLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQLServerDMLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitInsert(final InsertContext ctx) {
SQLServerInsertStatement result;
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerStatementSQLVisitor.java
index aafade4..eee5a88 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerStatementSQLVisitor.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.misc.Interval;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -98,15 +99,20 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dml.
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Properties;
/**
* Statement SQL SQLServer visitor.
*/
+@NoArgsConstructor
@Getter(AccessLevel.PROTECTED)
public abstract class SQLServerStatementSQLVisitor extends
SQLServerStatementBaseVisitor<ASTNode> {
private int currentParameterIndex;
-
+
+ public SQLServerStatementSQLVisitor(final Properties props) {
+ }
+
@Override
public final ASTNode visitParameterMarker(final ParameterMarkerContext
ctx) {
return new ParameterMarkerValue(currentParameterIndex++);
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerTCLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerTCLStatementSQLVisitor.java
index 6d959fd..25a960c 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerTCLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerTCLStatementSQLVisitor.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.sqlserver.visitor.statement.impl;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.api.visitor.operation.SQLStatementVisitor;
import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.type.TCLSQLVisitor;
@@ -33,11 +34,18 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.tcl.
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.tcl.SQLServerSetAutoCommitStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.tcl.SQLServerSetTransactionStatement;
+import java.util.Properties;
+
/**
* TCL Statement SQL visitor for SQLServer.
*/
+@NoArgsConstructor
public final class SQLServerTCLStatementSQLVisitor extends
SQLServerStatementSQLVisitor implements TCLSQLVisitor, SQLStatementVisitor {
-
+
+ public SQLServerTCLStatementSQLVisitor(final Properties props) {
+ super(props);
+ }
+
@Override
public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
return new SQLServerSetTransactionStatement();
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
index 40a9fd6..6907cbc 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/api/SQLVisitorEngine.java
@@ -23,6 +23,8 @@ import org.antlr.v4.runtime.tree.ParseTreeVisitor;
import org.apache.shardingsphere.sql.parser.core.visitor.SQLVisitorFactory;
import org.apache.shardingsphere.sql.parser.core.visitor.SQLVisitorRule;
+import java.util.Properties;
+
/**
* SQL visitor engine.
*/
@@ -32,6 +34,8 @@ public final class SQLVisitorEngine {
private final String databaseType;
private final String visitorType;
+
+ private final Properties props;
/**
* Visit parse tree.
@@ -41,7 +45,7 @@ public final class SQLVisitorEngine {
* @return SQL visitor result
*/
public <T> T visit(final ParseTree parseTree) {
- ParseTreeVisitor<T> visitor =
SQLVisitorFactory.newInstance(databaseType, visitorType,
SQLVisitorRule.valueOf(parseTree.getClass()));
+ ParseTreeVisitor<T> visitor =
SQLVisitorFactory.newInstance(databaseType, visitorType,
SQLVisitorRule.valueOf(parseTree.getClass()), props);
return parseTree.accept(visitor);
}
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/SQLVisitorFactory.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/SQLVisitorFactory.java
index 8e7701f..15aaf27 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/SQLVisitorFactory.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/SQLVisitorFactory.java
@@ -25,6 +25,8 @@ import
org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
import org.apache.shardingsphere.sql.parser.spi.SQLVisitorFacade;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatementType;
+import java.util.Properties;
+
/**
* SQL visitor factory.
*/
@@ -37,30 +39,31 @@ public final class SQLVisitorFactory {
* @param databaseType database type
* @param visitorType SQL visitor type
* @param visitorRule SQL visitor rule
+ * @param props SQL visitor config
* @param <T> type of visitor result
* @return parse tree visitor
*/
- public static <T> ParseTreeVisitor<T> newInstance(final String
databaseType, final String visitorType, final SQLVisitorRule visitorRule) {
+ public static <T> ParseTreeVisitor<T> newInstance(final String
databaseType, final String visitorType, final SQLVisitorRule visitorRule, final
Properties props) {
SQLVisitorFacade facade =
SQLVisitorFacadeRegistry.getInstance().getSQLVisitorFacade(databaseType,
visitorType);
- return createParseTreeVisitor(facade, visitorRule.getType());
+ return createParseTreeVisitor(facade, visitorRule.getType(), props);
}
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
- private static <T> ParseTreeVisitor<T> createParseTreeVisitor(final
SQLVisitorFacade visitorFacade, final SQLStatementType type) {
+ private static <T> ParseTreeVisitor<T> createParseTreeVisitor(final
SQLVisitorFacade visitorFacade, final SQLStatementType type, final Properties
props) {
switch (type) {
case DML:
- return (ParseTreeVisitor)
visitorFacade.getDMLVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getDMLVisitorClass().getConstructor(Properties.class).newInstance(props);
case DDL:
- return (ParseTreeVisitor)
visitorFacade.getDDLVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getDDLVisitorClass().getConstructor(Properties.class).newInstance(props);
case TCL:
- return (ParseTreeVisitor)
visitorFacade.getTCLVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getTCLVisitorClass().getConstructor(Properties.class).newInstance(props);
case DCL:
- return (ParseTreeVisitor)
visitorFacade.getDCLVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getDCLVisitorClass().getConstructor(Properties.class).newInstance(props);
case DAL:
- return (ParseTreeVisitor)
visitorFacade.getDALVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getDALVisitorClass().getConstructor(Properties.class).newInstance(props);
case RL:
- return (ParseTreeVisitor)
visitorFacade.getRLVisitorClass().getConstructor().newInstance();
+ return (ParseTreeVisitor)
visitorFacade.getRLVisitorClass().getConstructor(Properties.class).newInstance(props);
default:
throw new SQLParsingException("Can not support SQL statement
type: `%s`", type);
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
index 79e54f3..cf5cf68 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java
@@ -35,6 +35,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
+import java.util.Properties;
import static org.junit.Assert.fail;
@@ -84,6 +85,6 @@ public abstract class SQLParserParameterizedTest {
}
private SQLStatement parseSQLStatement(final String databaseType, final
String sql) {
- return new SQLVisitorEngine(databaseType, "STATEMENT").visit(new
SQLParserEngine(databaseType).parse(sql, false));
+ return new SQLVisitorEngine(databaseType, "STATEMENT", new
Properties()).visit(new SQLParserEngine(databaseType).parse(sql, false));
}
}