This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 73357c328a2 Remove useless impl of SQLServerStatement (#35607)
73357c328a2 is described below
commit 73357c328a275308f6ca50d02b4950b3d0111714
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 6 20:57:04 2025 +0800
Remove useless impl of SQLServerStatement (#35607)
---
.../merge/dql/ShardingDQLResultMergerTest.java | 11 ++--
.../TopAndRowNumberDecoratorMergedResultTest.java | 12 ++--
.../engine/PaginationContextEngineTest.java | 7 +-
.../statement/SQLServerStatementVisitor.java | 58 ++++++++--------
.../type/SQLServerDDLStatementVisitor.java | 30 ++++-----
.../core/statement/ddl/AlterIndexStatement.java | 26 +++-----
.../core/statement/ddl/AlterViewStatement.java | 48 +++++---------
.../core/statement/ddl/DropIndexStatement.java | 12 +---
.../core/statement/dml/DeleteStatement.java | 38 ++++-------
.../core/statement/dml/InsertStatement.java | 32 ++++-----
.../core/statement/dml/MergeStatement.java | 38 ++++++-----
.../core/statement/dml/SelectStatement.java | 12 ++++
.../core/statement/dml/UpdateStatement.java | 40 +++++------
.../statement/sqlserver/SQLServerStatement.java | 26 --------
.../sqlserver/dcl/SQLServerAlterUserStatement.java | 3 +-
.../dcl/SQLServerCreateLoginStatement.java | 3 +-
.../sqlserver/dcl/SQLServerGrantStatement.java | 3 +-
.../sqlserver/dcl/SQLServerRevokeStatement.java | 3 +-
.../sqlserver/dcl/SQLServerSetUserStatement.java | 3 +-
.../ddl/SQLServerAlterIndexStatement.java | 39 -----------
.../ddl/SQLServerAlterServiceStatement.java | 3 +-
.../sqlserver/ddl/SQLServerAlterViewStatement.java | 46 -------------
.../ddl/SQLServerCreateTableStatement.java | 5 +-
.../sqlserver/ddl/SQLServerDropIndexStatement.java | 45 -------------
.../sqlserver/ddl/SQLServerDropTableStatement.java | 35 ----------
.../sqlserver/ddl/SQLServerDropViewStatement.java | 33 ----------
.../sqlserver/dml/SQLServerDeleteStatement.java | 47 -------------
.../sqlserver/dml/SQLServerInsertStatement.java | 71 --------------------
.../sqlserver/dml/SQLServerMergeStatement.java | 77 ----------------------
.../sqlserver/dml/SQLServerSelectStatement.java | 59 -----------------
.../sqlserver/dml/SQLServerUpdateStatement.java | 75 ---------------------
31 files changed, 174 insertions(+), 766 deletions(-)
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
index 8b842afc75d..0750a0de722 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
@@ -60,7 +60,6 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import
org.apache.shardingsphere.sql.parser.statement.mysql.dml.MySQLSelectStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
import org.junit.jupiter.api.Test;
import java.sql.SQLException;
@@ -156,7 +155,7 @@ class ShardingDQLResultMergerTest {
void assertBuildIteratorStreamMergedResultWithSQLServerLimit() throws
SQLException {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(sqlserverDatabaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
buildSelectStatement(new SQLServerSelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new
SelectStatement());
selectStatement.setProjections(new ProjectionsSegment(0, 0));
selectStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralLimitValueSegment(0, 0, 1L), null));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
@@ -229,7 +228,7 @@ class ShardingDQLResultMergerTest {
void assertBuildOrderByStreamMergedResultWithSQLServerLimit() throws
SQLException {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(sqlserverDatabaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
buildSelectStatement(new SQLServerSelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new
SelectStatement());
selectStatement.setOrderBy(new OrderBySegment(0, 0,
Collections.singletonList(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST))));
selectStatement.setProjections(new ProjectionsSegment(0, 0));
selectStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralRowNumberValueSegment(0, 0, 1L, true), null));
@@ -306,7 +305,7 @@ class ShardingDQLResultMergerTest {
void assertBuildGroupByStreamMergedResultWithSQLServerLimit() throws
SQLException {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(sqlserverDatabaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
buildSelectStatement(new SQLServerSelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new
SelectStatement());
selectStatement.setGroupBy(new GroupBySegment(0, 0,
Collections.singletonList(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST))));
selectStatement.setOrderBy(new OrderBySegment(0, 0,
Collections.singletonList(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST))));
selectStatement.setProjections(new ProjectionsSegment(0, 0));
@@ -382,7 +381,7 @@ class ShardingDQLResultMergerTest {
void assertBuildGroupByMemoryMergedResultWithSQLServerLimit() throws
SQLException {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(sqlserverDatabaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
buildSelectStatement(new SQLServerSelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new
SelectStatement());
ProjectionsSegment projectionsSegment = new ProjectionsSegment(0, 0);
selectStatement.setProjections(projectionsSegment);
selectStatement.setGroupBy(new GroupBySegment(0, 0,
Collections.singletonList(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST))));
@@ -459,7 +458,7 @@ class ShardingDQLResultMergerTest {
@Test
void
assertBuildGroupByMemoryMergedResultWithAggregationOnlyWithSQLServerLimit()
throws SQLException {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(sqlserverDatabaseType);
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
buildSelectStatement(new SQLServerSelectStatement());
+ SelectStatement selectStatement = buildSelectStatement(new
SelectStatement());
ProjectionsSegment projectionsSegment = new ProjectionsSegment(0, 0);
projectionsSegment.getProjections().add(new
AggregationProjectionSegment(0, 0, AggregationType.COUNT, "COUNT(*)"));
selectStatement.setProjections(projectionsSegment);
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
index 6362dc091e5..31ffefb8746 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
@@ -30,7 +30,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.Proj
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.NumberLiteralLimitValueSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.rownum.NumberLiteralRowNumberValueSegment;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import org.junit.jupiter.api.Test;
import java.sql.SQLException;
@@ -51,7 +51,7 @@ class TopAndRowNumberDecoratorMergedResultTest {
void assertNextForSkipAll() throws SQLException {
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
- SQLServerSelectStatement sqlStatement = new SQLServerSelectStatement();
+ SelectStatement sqlStatement = new SelectStatement();
sqlStatement.setProjections(new ProjectionsSegment(0, 0));
sqlStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralRowNumberValueSegment(0, 0, Long.MAX_VALUE, true), null));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
@@ -67,7 +67,7 @@ class TopAndRowNumberDecoratorMergedResultTest {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(databaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
- SQLServerSelectStatement sqlStatement = new SQLServerSelectStatement();
+ SelectStatement sqlStatement = new SelectStatement();
sqlStatement.setProjections(new ProjectionsSegment(0, 0));
sqlStatement.setLimit(new LimitSegment(0, 0, null, new
NumberLiteralLimitValueSegment(0, 0, 5L)));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
@@ -84,7 +84,7 @@ class TopAndRowNumberDecoratorMergedResultTest {
void assertNextWithOffsetWithoutRowCount() throws SQLException {
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
- SQLServerSelectStatement sqlStatement = new SQLServerSelectStatement();
+ SelectStatement sqlStatement = new SelectStatement();
sqlStatement.setProjections(new ProjectionsSegment(0, 0));
sqlStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralRowNumberValueSegment(0, 0, 2L, true), null));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
@@ -103,7 +103,7 @@ class TopAndRowNumberDecoratorMergedResultTest {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(databaseType);
final ShardingSphereDatabase database =
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
- SQLServerSelectStatement sqlStatement = new SQLServerSelectStatement();
+ SelectStatement sqlStatement = new SelectStatement();
sqlStatement.setProjections(new ProjectionsSegment(0, 0));
sqlStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralRowNumberValueSegment(0, 0, 2L, false), new
NumberLiteralLimitValueSegment(0, 0, 4L)));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
@@ -120,7 +120,7 @@ class TopAndRowNumberDecoratorMergedResultTest {
final ShardingDQLResultMerger resultMerger = new
ShardingDQLResultMerger(databaseType);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
- SQLServerSelectStatement sqlStatement = new SQLServerSelectStatement();
+ SelectStatement sqlStatement = new SelectStatement();
sqlStatement.setProjections(new ProjectionsSegment(0, 0));
sqlStatement.setLimit(new LimitSegment(0, 0, new
NumberLiteralRowNumberValueSegment(0, 0, 2L, true), new
NumberLiteralLimitValueSegment(0, 0, 4L)));
SelectStatementContext selectStatementContext = new
SelectStatementContext(
diff --git
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngineTest.java
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngineTest.java
index a9fc663e005..8b229fb8632 100644
---
a/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngineTest.java
+++
b/infra/binder/core/src/test/java/org/apache/shardingsphere/infra/binder/context/segment/select/pagination/engine/PaginationContextEngineTest.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.paginatio
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.top.TopProjectionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.WhereSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
import org.junit.jupiter.api.Test;
import java.util.Collections;
@@ -55,10 +54,10 @@ class PaginationContextEngineTest {
@Test
void
assertCreatePaginationContextWhenLimitSegmentAbsentAndTopSegmentPresent() {
- SQLServerSelectStatement subquerySelectStatement = new
SQLServerSelectStatement();
+ SelectStatement subquerySelectStatement = new SelectStatement();
subquerySelectStatement.setProjections(new ProjectionsSegment(0, 0));
subquerySelectStatement.getProjections().getProjections().add(new
TopProjectionSegment(0, 10, null, "rowNumberAlias"));
- SQLServerSelectStatement selectStatement = new
SQLServerSelectStatement();
+ SelectStatement selectStatement = new SelectStatement();
selectStatement.setProjections(new ProjectionsSegment(0, 0));
selectStatement.getProjections().getProjections().add(new
SubqueryProjectionSegment(new SubquerySegment(0, 0, subquerySelectStatement,
""), ""));
PaginationContext paginationContext = new
PaginationContextEngine(getDatabaseType("SQLServer")).createPaginationContext(
@@ -69,7 +68,7 @@ class PaginationContextEngineTest {
@Test
void
assertCreatePaginationContextWhenLimitSegmentTopSegmentAbsentAndWhereSegmentPresent()
{
- SQLServerSelectStatement selectStatement = new
SQLServerSelectStatement();
+ SelectStatement selectStatement = new SelectStatement();
selectStatement.setProjections(new ProjectionsSegment(0, 0));
WhereSegment where = new WhereSegment(0, 10, null);
selectStatement.setWhere(where);
diff --git
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
index 36fc21c5dd9..d520bd157a8 100644
---
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
+++
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
@@ -219,8 +219,11 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableNameSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.UpdateStatisticsStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.MergeStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
import org.apache.shardingsphere.sql.parser.statement.core.util.SQLUtils;
import
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -232,11 +235,6 @@ import
org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.Ot
import
org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.StringLiteralValue;
import
org.apache.shardingsphere.sql.parser.statement.core.value.parametermarker.ParameterMarkerValue;
import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerCreateTableStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerDeleteStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerInsertStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerMergeStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerUpdateStatement;
import java.util.Collection;
import java.util.Collections;
@@ -956,7 +954,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitSelect(final SelectContext ctx) {
- SQLServerSelectStatement result = (SQLServerSelectStatement)
visit(ctx.aggregationClause());
+ SelectStatement result = (SelectStatement)
visit(ctx.aggregationClause());
result.addParameterMarkerSegments(getParameterMarkerSegments());
return result;
}
@@ -969,7 +967,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitSelectClause(final SelectClauseContext ctx) {
- SQLServerSelectStatement result = new SQLServerSelectStatement();
+ SelectStatement result = new SelectStatement();
result.setProjections((ProjectionsSegment) visit(ctx.projections()));
if (null != ctx.selectWithClause() && null !=
ctx.selectWithClause().cteClauseSet()) {
Collection<CommonTableExpressionSegment>
commonTableExpressionSegments =
getCommonTableExpressionSegmentsUsingCteClauseSet(ctx.selectWithClause().cteClauseSet());
@@ -1009,7 +1007,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
Collection<CommonTableExpressionSegment> result = new LinkedList<>();
for (CteClauseContext each : ctx.cteClause()) {
SubquerySegment subquery = new
SubquerySegment(each.subquery().aggregationClause().start.getStartIndex(),
- each.subquery().aggregationClause().stop.getStopIndex(),
(SQLServerSelectStatement) visit(each.subquery()),
getOriginalText(each.subquery()));
+ each.subquery().aggregationClause().stop.getStopIndex(),
(SelectStatement) visit(each.subquery()), getOriginalText(each.subquery()));
CommonTableExpressionSegment commonTableExpression = new
CommonTableExpressionSegment(each.start.getStartIndex(),
each.stop.getStopIndex(), (AliasSegment) visit(each.alias()), subquery);
if (null != each.columnNames()) {
ColumnNamesContext columnNames = each.columnNames();
@@ -1131,15 +1129,15 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitInsert(final InsertContext ctx) {
- SQLServerInsertStatement result;
+ InsertStatement result;
if (null != ctx.insertDefaultValue()) {
- result = (SQLServerInsertStatement)
visit(ctx.insertDefaultValue());
+ result = (InsertStatement) visit(ctx.insertDefaultValue());
} else if (null != ctx.insertValuesClause()) {
- result = (SQLServerInsertStatement)
visit(ctx.insertValuesClause());
+ result = (InsertStatement) visit(ctx.insertValuesClause());
} else if (null != ctx.insertExecClause()) {
- result = (SQLServerInsertStatement) visit(ctx.insertExecClause());
+ result = (InsertStatement) visit(ctx.insertExecClause());
} else {
- result = (SQLServerInsertStatement)
visit(ctx.insertSelectClause());
+ result = (InsertStatement) visit(ctx.insertSelectClause());
}
if (null != ctx.withClause()) {
result.setWithSegment((WithSegment) visit(ctx.withClause()));
@@ -1188,7 +1186,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitInsertDefaultValue(final InsertDefaultValueContext
ctx) {
- SQLServerInsertStatement result = new SQLServerInsertStatement();
+ InsertStatement result = new InsertStatement();
result.setInsertColumns(createInsertColumns(ctx.columnNames(),
ctx.start.getStartIndex()));
if (null != ctx.outputClause()) {
result.setOutputSegment((OutputSegment) visit(ctx.outputClause()));
@@ -1198,7 +1196,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitInsertExecClause(final InsertExecClauseContext ctx) {
- SQLServerInsertStatement result = new SQLServerInsertStatement();
+ InsertStatement result = new InsertStatement();
result.setInsertColumns(createInsertColumns(ctx.columnNames(),
ctx.start.getStartIndex()));
result.setExecSegment((ExecSegment) visit(ctx.exec()));
return result;
@@ -1279,7 +1277,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitInsertValuesClause(final InsertValuesClauseContext
ctx) {
- SQLServerInsertStatement result = new SQLServerInsertStatement();
+ InsertStatement result = new InsertStatement();
result.setInsertColumns(createInsertColumns(ctx.columnNames(),
ctx.start.getStartIndex()));
result.getValues().addAll(createInsertValuesSegments(ctx.assignmentValues()));
if (null != ctx.outputClause()) {
@@ -1298,7 +1296,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitInsertSelectClause(final InsertSelectClauseContext
ctx) {
- SQLServerInsertStatement result = new SQLServerInsertStatement();
+ InsertStatement result = new InsertStatement();
result.setInsertColumns(createInsertColumns(ctx.columnNames(),
ctx.start.getStartIndex()));
result.setInsertSelect(createInsertSelectSegment(ctx));
if (null != ctx.outputClause()) {
@@ -1318,7 +1316,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
}
private SubquerySegment createInsertSelectSegment(final
InsertSelectClauseContext ctx) {
- SQLServerSelectStatement selectStatement = (SQLServerSelectStatement)
visit(ctx.select());
+ SelectStatement selectStatement = (SelectStatement)
visit(ctx.select());
return new SubquerySegment(ctx.select().start.getStartIndex(),
ctx.select().stop.getStopIndex(), selectStatement,
getOriginalText(ctx.select()));
}
@@ -1330,7 +1328,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitUpdate(final UpdateContext ctx) {
- SQLServerUpdateStatement result = new SQLServerUpdateStatement();
+ UpdateStatement result = new UpdateStatement();
if (null != ctx.withClause()) {
result.setWithSegment((WithSegment) visit(ctx.withClause()));
}
@@ -1398,7 +1396,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitDelete(final DeleteContext ctx) {
- SQLServerDeleteStatement result = new SQLServerDeleteStatement();
+ DeleteStatement result = new DeleteStatement();
if (null != ctx.withClause()) {
result.setWithSegment((WithSegment) visit(ctx.withClause()));
}
@@ -1591,7 +1589,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
if (null != ctx.subquery().merge()) {
subquerySegment.setMerge((MergeStatement)
visit(ctx.subquery()));
} else {
- subquerySegment.setSelect((SQLServerSelectStatement)
visit(ctx.subquery()));
+ subquerySegment.setSelect((SelectStatement)
visit(ctx.subquery()));
}
SubqueryTableSegment result = new
SubqueryTableSegment(ctx.start.getStartIndex(), ctx.stop.getStopIndex(),
subquerySegment);
if (null != ctx.alias()) {
@@ -1669,7 +1667,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
SQLServerCreateTableStatement result = new
SQLServerCreateTableStatement();
if (null != ctx.createTableAsSelect()) {
result.setTable((SimpleTableSegment)
visit(ctx.createTableAsSelect().tableName()));
- result.setSelectStatement((SQLServerSelectStatement)
visit(ctx.createTableAsSelect().select()));
+ result.setSelectStatement((SelectStatement)
visit(ctx.createTableAsSelect().select()));
if (null != ctx.createTableAsSelect().columnNames()) {
CollectionValue<ColumnSegment> columnSegments =
(CollectionValue<ColumnSegment>) visit(ctx.createTableAsSelect().columnNames());
for (ColumnSegment each : columnSegments.getValue()) {
@@ -1678,7 +1676,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
}
} else {
result.setTable((SimpleTableSegment)
visit(ctx.createRemoteTableAsSelect().tableName()));
- result.setSelectStatement((SQLServerSelectStatement)
visit(ctx.createRemoteTableAsSelect().select()));
+ result.setSelectStatement((SelectStatement)
visit(ctx.createRemoteTableAsSelect().select()));
}
return result;
}
@@ -1769,7 +1767,7 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitMerge(final MergeContext ctx) {
- SQLServerMergeStatement result = new SQLServerMergeStatement();
+ MergeStatement result = new MergeStatement();
result.setTarget((TableSegment)
visit(ctx.mergeIntoClause().tableReferences()));
if (null != ctx.withClause()) {
result.setWithSegment((WithSegment) visit(ctx.withClause()));
@@ -1811,13 +1809,13 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
result.setAndExpr((ExpressionSegment)
visit(ctx.mergeDeleteClause().expr()));
}
if (null != ctx.mergeUpdateClause()) {
- result.setUpdate((SQLServerUpdateStatement)
visit(ctx.mergeUpdateClause()));
+ result.setUpdate((UpdateStatement) visit(ctx.mergeUpdateClause()));
if (null != ctx.mergeUpdateClause().expr()) {
result.setAndExpr((ExpressionSegment)
visit(ctx.mergeUpdateClause().expr()));
}
}
if (null != ctx.mergeInsertClause()) {
- result.setInsert((SQLServerInsertStatement)
visit(ctx.mergeInsertClause()));
+ result.setInsert((InsertStatement) visit(ctx.mergeInsertClause()));
if (null != ctx.mergeInsertClause().expr()) {
result.setAndExpr((ExpressionSegment)
visit(ctx.mergeInsertClause().expr()));
}
@@ -1827,18 +1825,18 @@ public abstract class SQLServerStatementVisitor extends
SQLServerStatementBaseVi
@Override
public ASTNode visitMergeInsertClause(final MergeInsertClauseContext ctx) {
- SQLServerInsertStatement result;
+ InsertStatement result;
if (null != ctx.insertDefaultValue()) {
- result = (SQLServerInsertStatement)
visit(ctx.insertDefaultValue());
+ result = (InsertStatement) visit(ctx.insertDefaultValue());
} else {
- result = (SQLServerInsertStatement)
visit(ctx.insertValuesClause());
+ result = (InsertStatement) visit(ctx.insertValuesClause());
}
return result;
}
@Override
public ASTNode visitMergeUpdateClause(final MergeUpdateClauseContext ctx) {
- SQLServerUpdateStatement result = new SQLServerUpdateStatement();
+ UpdateStatement result = new UpdateStatement();
result.setSetAssignment((SetAssignmentSegment)
visit(ctx.setAssignmentsClause()));
return result;
}
diff --git
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
index 8019312040a..3dd58ae8846 100644
---
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
+++
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
@@ -88,37 +88,37 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DataT
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterFunctionStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterProcedureStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterSchemaStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterSequenceStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterTableStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterTriggerStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterViewStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateFunctionStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateIndexStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateProcedureStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateSchemaStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateSequenceStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerCreateServiceStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateTriggerStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateViewStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropFunctionStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropIndexStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropProcedureStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropSchemaStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropSequenceStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropServiceStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropTableStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropTriggerStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.TruncateStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerAlterIndexStatement;
import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerAlterServiceStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerAlterViewStatement;
+import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerCreateServiceStatement;
import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerCreateTableStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropIndexStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropTableStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropViewStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
+import
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropServiceStatement;
import java.util.Collection;
import java.util.Collections;
@@ -309,7 +309,7 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@SuppressWarnings("unchecked")
@Override
public ASTNode visitDropTable(final DropTableContext ctx) {
- SQLServerDropTableStatement result = new SQLServerDropTableStatement();
+ DropTableStatement result = new DropTableStatement();
result.setContainsCascade(null != ctx.ifExists());
result.getTables().addAll(((CollectionValue<SimpleTableSegment>)
visit(ctx.tableNames())).getValue());
return result;
@@ -338,7 +338,7 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@Override
public ASTNode visitAlterIndex(final AlterIndexContext ctx) {
- SQLServerAlterIndexStatement result = new
SQLServerAlterIndexStatement();
+ AlterIndexStatement result = new AlterIndexStatement();
if (null != ctx.indexName()) {
result.setIndex((IndexSegment) visit(ctx.indexName()));
}
@@ -348,7 +348,7 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@Override
public ASTNode visitDropIndex(final DropIndexContext ctx) {
- SQLServerDropIndexStatement result = new SQLServerDropIndexStatement();
+ DropIndexStatement result = new DropIndexStatement();
result.setIfExists(null != ctx.ifExists());
result.getIndexes().add((IndexSegment) visit(ctx.indexName()));
result.setSimpleTable((SimpleTableSegment) visit(ctx.tableName()));
@@ -390,7 +390,7 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
result.setReplaceView(null != ctx.ALTER());
result.setView((SimpleTableSegment) visit(ctx.viewName()));
result.setViewDefinition(getOriginalText(ctx.createOrAlterViewClause().select()));
- result.setSelect((SQLServerSelectStatement)
visit(ctx.createOrAlterViewClause().select()));
+ result.setSelect((SelectStatement)
visit(ctx.createOrAlterViewClause().select()));
return result;
}
@@ -456,10 +456,10 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@Override
public ASTNode visitAlterView(final AlterViewContext ctx) {
- SQLServerAlterViewStatement result = new SQLServerAlterViewStatement();
+ AlterViewStatement result = new AlterViewStatement();
result.setView((SimpleTableSegment) visit(ctx.viewName()));
result.setViewDefinition(getOriginalText(ctx.createOrAlterViewClause().select()));
- result.setSelect((SQLServerSelectStatement)
visit(ctx.createOrAlterViewClause().select()));
+ result.setSelect((SelectStatement)
visit(ctx.createOrAlterViewClause().select()));
return result;
}
@@ -485,7 +485,7 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@Override
public ASTNode visitDropView(final DropViewContext ctx) {
- SQLServerDropViewStatement result = new SQLServerDropViewStatement();
+ DropViewStatement result = new DropViewStatement();
result.setIfExists(null != ctx.ifExists());
for (ViewNameContext each : ctx.viewName()) {
result.getViews().add((SimpleTableSegment) visit(each));
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterIndexStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterIndexStatement.java
index 1b85451162a..7c9aff53f42 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterIndexStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterIndexStatement.java
@@ -34,6 +34,8 @@ public class AlterIndexStatement extends AbstractSQLStatement
implements DDLStat
private IndexSegment renameIndex;
+ private SimpleTableSegment simpleTable;
+
/**
* Get index segment.
*
@@ -44,28 +46,20 @@ public class AlterIndexStatement extends
AbstractSQLStatement implements DDLStat
}
/**
- * Get simple table segment.
- *
- * @return simple table segment
- */
- public Optional<SimpleTableSegment> getSimpleTable() {
- return Optional.empty();
- }
-
- /**
- * Set simple table segment.
+ * Get rename index segment.
*
- * @param simpleTableSegment simple table segment
+ * @return rename index segment
*/
- public void setSimpleTable(final SimpleTableSegment simpleTableSegment) {
+ public Optional<IndexSegment> getRenameIndex() {
+ return Optional.ofNullable(renameIndex);
}
/**
- * Get rename index segment.
+ * Get simple table segment.
*
- * @return rename index segment
+ * @return simple table segment
*/
- public Optional<IndexSegment> getRenameIndex() {
- return Optional.ofNullable(renameIndex);
+ public Optional<SimpleTableSegment> getSimpleTable() {
+ return Optional.ofNullable(simpleTable);
}
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterViewStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterViewStatement.java
index 2b2202ef530..9debcf47dce 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterViewStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/AlterViewStatement.java
@@ -39,55 +39,43 @@ public class AlterViewStatement extends
AbstractSQLStatement implements DDLState
private ConstraintDefinitionSegment constraintDefinition;
- /**
- * Get select statement.
- *
- * @return select statement
- */
- public Optional<SelectStatement> getSelect() {
- return Optional.empty();
- }
+ private SelectStatement select;
- /**
- * Set select statement.
- *
- * @param select select statement
- */
- public void setSelect(final SelectStatement select) {
- }
+ private String viewDefinition;
/**
- * Get view definition.
+ * Get rename view.
*
- * @return view definition
+ * @return rename view
*/
- public Optional<String> getViewDefinition() {
- return Optional.empty();
+ public Optional<SimpleTableSegment> getRenameView() {
+ return Optional.ofNullable(renameView);
}
/**
- * Get view definition.
+ * Get constraint definition.
*
- * @param viewDefinition view definition
+ * @return constraint definition
*/
- public void setViewDefinition(final String viewDefinition) {
+ public Optional<ConstraintDefinitionSegment> getConstraintDefinition() {
+ return Optional.ofNullable(constraintDefinition);
}
/**
- * Get rename view.
+ * Get select statement.
*
- * @return rename view
+ * @return select statement
*/
- public Optional<SimpleTableSegment> getRenameView() {
- return Optional.ofNullable(renameView);
+ public Optional<SelectStatement> getSelect() {
+ return Optional.ofNullable(select);
}
/**
- * Get constraint definition.
+ * Get view definition.
*
- * @return constraint definition
+ * @return view definition
*/
- public Optional<ConstraintDefinitionSegment> getConstraintDefinition() {
- return Optional.ofNullable(constraintDefinition);
+ public Optional<String> getViewDefinition() {
+ return Optional.ofNullable(viewDefinition);
}
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/DropIndexStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/DropIndexStatement.java
index f488b6b94dc..fbc5bbedf95 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/DropIndexStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/ddl/DropIndexStatement.java
@@ -40,21 +40,15 @@ public class DropIndexStatement extends
AbstractSQLStatement implements DDLState
private boolean ifExists;
+ private SimpleTableSegment simpleTable;
+
/**
* Get simple table.
*
* @return simple table
*/
public Optional<SimpleTableSegment> getSimpleTable() {
- return Optional.empty();
- }
-
- /**
- * Set simple table.
- *
- * @param simpleTableSegment simple table
- */
- public void setSimpleTable(final SimpleTableSegment simpleTableSegment) {
+ return Optional.ofNullable(simpleTable);
}
/**
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
index fb8a36a70f9..4e48b215fdf 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
@@ -45,8 +45,12 @@ public class DeleteStatement extends AbstractSQLStatement
implements DMLStatemen
private LimitSegment limit;
+ private WithSegment withSegment;
+
private ReturningSegment returningSegment;
+ private OutputSegment outputSegment;
+
/**
* Get where.
*
@@ -74,46 +78,30 @@ public class DeleteStatement extends AbstractSQLStatement
implements DMLStatemen
return Optional.ofNullable(limit);
}
- /**
- * Get output segment.
- *
- * @return output segment
- */
- public Optional<OutputSegment> getOutputSegment() {
- return Optional.empty();
- }
-
/**
* Get with segment.
*
* @return with segment
*/
public Optional<WithSegment> getWithSegment() {
- return Optional.empty();
- }
-
- /**
- * Set output segment.
- *
- * @param outputSegment output segment
- */
- public void setOutputSegment(final OutputSegment outputSegment) {
+ return Optional.ofNullable(withSegment);
}
/**
- * Set with segment.
+ * Get returning segment of delete statement.
*
- * @param withSegment with segment
+ * @return returning segment
*/
- public void setWithSegment(final WithSegment withSegment) {
+ public Optional<ReturningSegment> getReturningSegment() {
+ return Optional.ofNullable(returningSegment);
}
/**
- * Get returning segment of delete statement.
+ * Get output segment.
*
- * @return returning segment
+ * @return output segment
*/
- public Optional<ReturningSegment> getReturningSegment() {
- return Optional.ofNullable(returningSegment);
+ public Optional<OutputSegment> getOutputSegment() {
+ return Optional.ofNullable(outputSegment);
}
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
index 3dd0af20a17..c677fbbd591 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
@@ -62,6 +62,8 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
private ReturningSegment returningSegment;
+ private OutputSegment outputSegment;
+
private WithSegment withSegment;
private MultiTableInsertType multiTableInsertType;
@@ -72,6 +74,12 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
private WhereSegment where;
+ private ExecSegment execSegment;
+
+ private WithTableHintSegment withTableHintSegment;
+
+ private FunctionSegment rowSetFunctionSegment;
+
private final Collection<InsertValuesSegment> values = new LinkedList<>();
private final Collection<ColumnSegment> derivedInsertColumns = new
LinkedList<>();
@@ -145,15 +153,7 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
* @return output segment
*/
public Optional<OutputSegment> getOutputSegment() {
- return Optional.empty();
- }
-
- /**
- * Set output segment.
- *
- * @param outputSegment output segment
- */
- public void setOutputSegment(final OutputSegment outputSegment) {
+ return Optional.ofNullable(outputSegment);
}
/**
@@ -207,15 +207,7 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
* @return execute segment
*/
public Optional<ExecSegment> getExecSegment() {
- return Optional.empty();
- }
-
- /**
- * Set execute segment.
- *
- * @param execSegment execute segment
- */
- public void setExecSegment(final ExecSegment execSegment) {
+ return Optional.ofNullable(execSegment);
}
/**
@@ -224,7 +216,7 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
* @return with table hint segment
*/
public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.empty();
+ return Optional.ofNullable(withTableHintSegment);
}
/**
@@ -233,6 +225,6 @@ public class InsertStatement extends AbstractSQLStatement
implements DMLStatemen
* @return rowSet function segment
*/
public Optional<FunctionSegment> getRowSetFunctionSegment() {
- return Optional.empty();
+ return Optional.ofNullable(rowSetFunctionSegment);
}
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/MergeStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/MergeStatement.java
index 4f289719a71..1eb5749a5a8 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/MergeStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/MergeStatement.java
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.Setter;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionWithParamsSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.OptionHintSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.merge.MergeWhenAndThenSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OutputSegment;
@@ -29,7 +30,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table
import
org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
import java.util.Collection;
-import java.util.Collections;
+import java.util.LinkedList;
import java.util.Optional;
/**
@@ -49,6 +50,18 @@ public class MergeStatement extends AbstractSQLStatement
implements DMLStatement
private InsertStatement insert;
+ private WithSegment withSegment;
+
+ private WithTableHintSegment withTableHintSegment;
+
+ private Collection<IndexSegment> indexes = new LinkedList<>();
+
+ private OutputSegment outputSegment;
+
+ private OptionHintSegment optionHintSegment;
+
+ private Collection<MergeWhenAndThenSegment> whenAndThenSegments = new
LinkedList<>();
+
/**
* Get update statement.
*
@@ -73,7 +86,7 @@ public class MergeStatement extends AbstractSQLStatement
implements DMLStatement
* @return with segment
*/
public Optional<WithSegment> getWithSegment() {
- return Optional.empty();
+ return Optional.ofNullable(withSegment);
}
/**
@@ -82,7 +95,7 @@ public class MergeStatement extends AbstractSQLStatement
implements DMLStatement
* @return with table hint segment
*/
public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.empty();
+ return Optional.ofNullable(withTableHintSegment);
}
/**
@@ -91,24 +104,15 @@ public class MergeStatement extends AbstractSQLStatement
implements DMLStatement
* @return output segment
*/
public Optional<OutputSegment> getOutputSegment() {
- return Optional.empty();
- }
-
- /**
- * Get when and then segments.
- *
- * @return when and then segments
- */
- public Collection<MergeWhenAndThenSegment> getWhenAndThenSegments() {
- return Collections.emptyList();
+ return Optional.ofNullable(outputSegment);
}
/**
- * Get index segments.
+ * Get option hint segment.
*
- * @return index segments
+ * @return option hint segment.
*/
- public Collection<IndexSegment> getIndexes() {
- return Collections.emptyList();
+ public Optional<OptionHintSegment> getOptionHintSegment() {
+ return Optional.ofNullable(optionHintSegment);
}
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
index c374321af24..4f3b2309ee4 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.Setter;
import org.apache.shardingsphere.sql.parser.statement.core.enums.SubqueryType;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.combine.CombineSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ProjectionsSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.order.GroupBySegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.order.OrderBySegment;
@@ -71,6 +72,8 @@ public class SelectStatement extends AbstractSQLStatement
implements DMLStatemen
private ModelSegment modelSegment;
+ private WithTableHintSegment withTableHintSegment;
+
/**
* Get from.
*
@@ -187,4 +190,13 @@ public class SelectStatement extends AbstractSQLStatement
implements DMLStatemen
public Optional<ModelSegment> getModelSegment() {
return Optional.ofNullable(modelSegment);
}
+
+ /**
+ * Get with table hint segment.
+ *
+ * @return with table hint segment.
+ */
+ public Optional<WithTableHintSegment> getWithTableHintSegment() {
+ return Optional.ofNullable(withTableHintSegment);
+ }
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
index 83bc89a05db..b76ec879255 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
@@ -22,6 +22,7 @@ import lombok.Setter;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.ReturningSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.SetAssignmentSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.OptionHintSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.order.OrderBySegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.WhereSegment;
@@ -53,8 +54,16 @@ public class UpdateStatement extends AbstractSQLStatement
implements DMLStatemen
private WhereSegment deleteWhere;
+ private WithSegment withSegment;
+
private ReturningSegment returningSegment;
+ private WithTableHintSegment withTableHintSegment;
+
+ private OptionHintSegment optionHintSegment;
+
+ private OutputSegment outputSegment;
+
/**
* Get where.
*
@@ -97,7 +106,7 @@ public class UpdateStatement extends AbstractSQLStatement
implements DMLStatemen
* @return with segment
*/
public Optional<WithSegment> getWithSegment() {
- return Optional.empty();
+ return Optional.ofNullable(withSegment);
}
/**
@@ -106,15 +115,7 @@ public class UpdateStatement extends AbstractSQLStatement
implements DMLStatemen
* @return option hint segment
*/
public Optional<OptionHintSegment> getOptionHintSegment() {
- return Optional.empty();
- }
-
- /**
- * Set with segment.
- *
- * @param withSegment with segment
- */
- public void setWithSegment(final WithSegment withSegment) {
+ return Optional.ofNullable(optionHintSegment);
}
/**
@@ -123,15 +124,7 @@ public class UpdateStatement extends AbstractSQLStatement
implements DMLStatemen
* @return output segment
*/
public Optional<OutputSegment> getOutputSegment() {
- return Optional.empty();
- }
-
- /**
- * Set output segment.
- *
- * @param outputSegment output segment
- */
- public void setOutputSegment(final OutputSegment outputSegment) {
+ return Optional.ofNullable(outputSegment);
}
/**
@@ -160,4 +153,13 @@ public class UpdateStatement extends AbstractSQLStatement
implements DMLStatemen
public Optional<ReturningSegment> getReturningSegment() {
return Optional.ofNullable(returningSegment);
}
+
+ /**
+ * Get with table hint segment.
+ *
+ * @return with table hint segment.
+ */
+ public Optional<WithTableHintSegment> getWithTableHintSegment() {
+ return Optional.ofNullable(withTableHintSegment);
+ }
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/SQLServerStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/SQLServerStatement.java
deleted file mode 100644
index 6894f8787b5..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/SQLServerStatement.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver;
-
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
-
-/**
- * SQLServer statement.
- */
-public interface SQLServerStatement extends SQLStatement {
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerAlterUserStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerAlterUserStatement.java
index 34c72a75bc4..5349024220e 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerAlterUserStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerAlterUserStatement.java
@@ -22,14 +22,13 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.UserSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.AlterUserStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.DCLStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
/**
* Alter user statement.
*/
@RequiredArgsConstructor
@Getter
-public final class SQLServerAlterUserStatement extends AlterUserStatement
implements SQLServerStatement, DCLStatement {
+public final class SQLServerAlterUserStatement extends AlterUserStatement
implements DCLStatement {
private final UserSegment user;
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerCreateLoginStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerCreateLoginStatement.java
index 363dcc061dd..98b34ff9f31 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerCreateLoginStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerCreateLoginStatement.java
@@ -22,14 +22,13 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.LoginSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.DCLStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
/**
* SQLServer Create login statement.
*/
@RequiredArgsConstructor
@Getter
-public final class SQLServerCreateLoginStatement extends AbstractSQLStatement
implements SQLServerStatement, DCLStatement {
+public final class SQLServerCreateLoginStatement extends AbstractSQLStatement
implements DCLStatement {
private final LoginSegment loginSegment;
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerGrantStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerGrantStatement.java
index 338abfa6317..914a279e1b6 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerGrantStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerGrantStatement.java
@@ -20,7 +20,6 @@ package
org.apache.shardingsphere.sql.parser.statement.sqlserver.dcl;
import lombok.Getter;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.GrantStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
import java.util.LinkedList;
import java.util.List;
@@ -29,7 +28,7 @@ import java.util.List;
* SQLServer grant statement.
*/
@Getter
-public final class SQLServerGrantStatement extends GrantStatement implements
SQLServerStatement {
+public final class SQLServerGrantStatement extends GrantStatement {
private final List<ColumnSegment> columns = new LinkedList<>();
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerRevokeStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerRevokeStatement.java
index a598a711fad..06a7a47a6d5 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerRevokeStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerRevokeStatement.java
@@ -20,7 +20,6 @@ package
org.apache.shardingsphere.sql.parser.statement.sqlserver.dcl;
import lombok.Getter;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.RevokeStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
import java.util.Collection;
import java.util.LinkedList;
@@ -29,7 +28,7 @@ import java.util.LinkedList;
* SQLServer revoke statement.
*/
@Getter
-public final class SQLServerRevokeStatement extends RevokeStatement implements
SQLServerStatement {
+public final class SQLServerRevokeStatement extends RevokeStatement {
private final Collection<ColumnSegment> columns = new LinkedList<>();
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerSetUserStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerSetUserStatement.java
index 94ea8c8dcf1..8c40f400d66 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerSetUserStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dcl/SQLServerSetUserStatement.java
@@ -22,14 +22,13 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dcl.UserSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.DCLStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
/**
* SQLServer set user statement.
*/
@RequiredArgsConstructor
@Getter
-public final class SQLServerSetUserStatement extends AbstractSQLStatement
implements SQLServerStatement, DCLStatement {
+public final class SQLServerSetUserStatement extends AbstractSQLStatement
implements DCLStatement {
private final UserSegment user;
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterIndexStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterIndexStatement.java
deleted file mode 100644
index 5a93b3ffc4e..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterIndexStatement.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer alter index statement.
- */
-@Setter
-public final class SQLServerAlterIndexStatement extends AlterIndexStatement
implements SQLServerStatement {
-
- private SimpleTableSegment simpleTable;
-
- @Override
- public Optional<SimpleTableSegment> getSimpleTable() {
- return Optional.ofNullable(simpleTable);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterServiceStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterServiceStatement.java
index 2df471c5ba5..5a7593e9ffc 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterServiceStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterServiceStatement.java
@@ -19,10 +19,9 @@ package
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DDLStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
/**
* SQLServer alter service statement.
*/
-public final class SQLServerAlterServiceStatement extends AbstractSQLStatement
implements DDLStatement, SQLServerStatement {
+public final class SQLServerAlterServiceStatement extends AbstractSQLStatement
implements DDLStatement {
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterViewStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterViewStatement.java
deleted file mode 100644
index dbe144a505c..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerAlterViewStatement.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterViewStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer alter view statement.
- */
-@Setter
-public final class SQLServerAlterViewStatement extends AlterViewStatement
implements SQLServerStatement {
-
- private SelectStatement select;
-
- private String viewDefinition;
-
- @Override
- public Optional<SelectStatement> getSelect() {
- return Optional.ofNullable(select);
- }
-
- @Override
- public Optional<String> getViewDefinition() {
- return Optional.ofNullable(viewDefinition);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerCreateTableStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerCreateTableStatement.java
index 29ac37fc95e..ac9161a129d 100644
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerCreateTableStatement.java
+++
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerCreateTableStatement.java
@@ -18,10 +18,8 @@
package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
import lombok.Getter;
-import lombok.Setter;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateTableStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
import java.util.LinkedList;
import java.util.List;
@@ -30,8 +28,7 @@ import java.util.List;
* SQLServer create table statement.
*/
@Getter
-@Setter
-public final class SQLServerCreateTableStatement extends CreateTableStatement
implements SQLServerStatement {
+public final class SQLServerCreateTableStatement extends CreateTableStatement {
private final List<ColumnSegment> columns = new LinkedList<>();
}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropIndexStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropIndexStatement.java
deleted file mode 100644
index e2c766cec85..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropIndexStatement.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropIndexStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer drop index statement.
- */
-@RequiredArgsConstructor
-@Getter
-@Setter
-public final class SQLServerDropIndexStatement extends DropIndexStatement
implements SQLServerStatement {
-
- private boolean ifExists;
-
- private SimpleTableSegment simpleTable;
-
- @Override
- public Optional<SimpleTableSegment> getSimpleTable() {
- return Optional.ofNullable(simpleTable);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropTableStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropTableStatement.java
deleted file mode 100644
index 9036747d792..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropTableStatement.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropTableStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-/**
- * SQLServer drop table statement.
- */
-@RequiredArgsConstructor
-@Getter
-@Setter
-public final class SQLServerDropTableStatement extends DropTableStatement
implements SQLServerStatement {
-
- private boolean ifExists;
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropViewStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropViewStatement.java
deleted file mode 100644
index 4f2b9555581..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/ddl/SQLServerDropViewStatement.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl;
-
-import lombok.Getter;
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-/**
- * SQLServer drop view statement.
- */
-@Getter
-@Setter
-public final class SQLServerDropViewStatement extends DropViewStatement
implements SQLServerStatement {
-
- private boolean ifExists;
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerDeleteStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerDeleteStatement.java
deleted file mode 100644
index 2c729540df6..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerDeleteStatement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.dml;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OutputSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WithSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer delete statement.
- */
-@Setter
-public final class SQLServerDeleteStatement extends DeleteStatement implements
SQLServerStatement {
-
- private WithSegment withSegment;
-
- private OutputSegment outputSegment;
-
- @Override
- public Optional<WithSegment> getWithSegment() {
- return Optional.ofNullable(withSegment);
- }
-
- @Override
- public Optional<OutputSegment> getOutputSegment() {
- return Optional.ofNullable(outputSegment);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerInsertStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerInsertStatement.java
deleted file mode 100644
index 02db4ac1409..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerInsertStatement.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.dml;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.FunctionSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OutputSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WithSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.exec.ExecSegment;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer insert statement.
- */
-@Setter
-public final class SQLServerInsertStatement extends InsertStatement implements
SQLServerStatement {
-
- private WithSegment withSegment;
-
- private OutputSegment outputSegment;
-
- private ExecSegment execSegment;
-
- private WithTableHintSegment withTableHintSegment;
-
- private FunctionSegment rowSetFunctionSegment;
-
- @Override
- public Optional<WithSegment> getWithSegment() {
- return Optional.ofNullable(withSegment);
- }
-
- @Override
- public Optional<OutputSegment> getOutputSegment() {
- return Optional.ofNullable(outputSegment);
- }
-
- @Override
- public Optional<ExecSegment> getExecSegment() {
- return Optional.ofNullable(execSegment);
- }
-
- @Override
- public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.ofNullable(withTableHintSegment);
- }
-
- @Override
- public Optional<FunctionSegment> getRowSetFunctionSegment() {
- return Optional.ofNullable(rowSetFunctionSegment);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerMergeStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerMergeStatement.java
deleted file mode 100644
index fd516a3162d..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerMergeStatement.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.dml;
-
-import lombok.Getter;
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OutputSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WithSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.MergeStatement;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.OptionHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.merge.MergeWhenAndThenSegment;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Optional;
-
-/**
- * SQLServer merge statement.
- */
-@Setter
-@Getter
-public final class SQLServerMergeStatement extends MergeStatement implements
SQLServerStatement {
-
- private WithSegment withSegment;
-
- private WithTableHintSegment withTableHintSegment;
-
- private Collection<IndexSegment> indexes = new LinkedList<>();
-
- private OutputSegment outputSegment;
-
- private OptionHintSegment optionHintSegment;
-
- private Collection<MergeWhenAndThenSegment> whenAndThenSegments = new
LinkedList<>();
-
- @Override
- public Optional<WithSegment> getWithSegment() {
- return Optional.ofNullable(withSegment);
- }
-
- @Override
- public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.ofNullable(withTableHintSegment);
- }
-
- @Override
- public Optional<OutputSegment> getOutputSegment() {
- return Optional.ofNullable(outputSegment);
- }
-
- /**
- * Get option hint segment.
- *
- * @return option hint segment.
- */
- public Optional<OptionHintSegment> getOptionHintSegment() {
- return Optional.ofNullable(optionHintSegment);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerSelectStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerSelectStatement.java
deleted file mode 100644
index 5b2a25fedad..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerSelectStatement.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.dml;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer select statement.
- */
-@Setter
-public final class SQLServerSelectStatement extends SelectStatement implements
SQLServerStatement {
-
- private LimitSegment limit;
-
- private TableSegment intoSegment;
-
- private WithTableHintSegment withTableHintSegment;
-
- @Override
- public Optional<LimitSegment> getLimit() {
- return Optional.ofNullable(limit);
- }
-
- @Override
- public Optional<TableSegment> getIntoSegment() {
- return Optional.ofNullable(intoSegment);
- }
-
- /**
- * Get with table hint segment.
- *
- * @return with table hint segment.
- */
- public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.ofNullable(withTableHintSegment);
- }
-}
diff --git
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerUpdateStatement.java
b/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerUpdateStatement.java
deleted file mode 100644
index 3fed743b07c..00000000000
---
a/parser/sql/statement/type/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/statement/sqlserver/dml/SQLServerUpdateStatement.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.sqlserver.dml;
-
-import lombok.Setter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.OptionHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.hint.WithTableHintSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OutputSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WithSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
-import
org.apache.shardingsphere.sql.parser.statement.sqlserver.SQLServerStatement;
-
-import java.util.Optional;
-
-/**
- * SQLServer update statement.
- */
-@Setter
-public final class SQLServerUpdateStatement extends UpdateStatement implements
SQLServerStatement {
-
- private WithSegment withSegment;
-
- private WithTableHintSegment withTableHintSegment;
-
- private OptionHintSegment optionHintSegment;
-
- private OutputSegment outputSegment;
-
- private TableSegment from;
-
- @Override
- public Optional<WithSegment> getWithSegment() {
- return Optional.ofNullable(withSegment);
- }
-
- /**
- * Get with table hint segment.
- *
- * @return with table hint segment.
- */
- public Optional<WithTableHintSegment> getWithTableHintSegment() {
- return Optional.ofNullable(withTableHintSegment);
- }
-
- @Override
- public Optional<OptionHintSegment> getOptionHintSegment() {
- return Optional.ofNullable(optionHintSegment);
- }
-
- @Override
- public Optional<OutputSegment> getOutputSegment() {
- return Optional.ofNullable(outputSegment);
- }
-
- @Override
- public Optional<TableSegment> getFrom() {
- return Optional.ofNullable(from);
- }
-}