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 8d1c82a722d Refactor constructor of DropViewStatement to empty 
buildAttributes (#38331)
8d1c82a722d is described below

commit 8d1c82a722d041aab4307bf5f4673b85cbf89be4
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Mar 4 13:43:35 2026 +0800

    Refactor constructor of DropViewStatement to empty buildAttributes (#38331)
    
    * Refactor constructor of DropViewStatement to empty buildAttributes
    
    * Refactor constructor of DropViewStatement to empty buildAttributes
---
 .../type/unicast/BroadcastUnicastRouteEngineTest.java     |  5 +----
 .../engine/statement/ddl/DropViewStatementBinder.java     |  3 +--
 .../federation/FederationMetaDataRefreshEngineTest.java   |  3 ++-
 .../type/DropViewFederationMetaDataRefresherTest.java     | 12 ++----------
 .../type/view/DropViewPushDownMetaDataRefresherTest.java  |  5 ++---
 .../visitor/statement/type/DorisDDLStatementVisitor.java  |  5 +----
 .../visitor/statement/type/HiveDDLStatementVisitor.java   |  5 +----
 .../visitor/statement/type/MySQLDDLStatementVisitor.java  |  5 +----
 .../statement/type/OpenGaussDDLStatementVisitor.java      |  5 +----
 .../visitor/statement/type/OracleDDLStatementVisitor.java |  4 +---
 .../statement/type/PostgreSQLDDLStatementVisitor.java     |  5 +----
 .../visitor/statement/type/PrestoDDLStatementVisitor.java |  5 +----
 .../statement/type/SQLServerDDLStatementVisitor.java      |  9 ++-------
 .../core/statement/type/ddl/view/DropViewStatement.java   | 15 +++++++--------
 14 files changed, 24 insertions(+), 62 deletions(-)

diff --git 
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngineTest.java
 
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngineTest.java
index 3c4c15d2056..e17bb884108 100644
--- 
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngineTest.java
+++ 
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngineTest.java
@@ -87,10 +87,7 @@ class BroadcastUnicastRouteEngineTest {
     
     @Test
     void assertRouteToFirstDataSourceWithDropViewStatementContext() {
-        DropViewStatement dropViewStatement = new 
DropViewStatement(databaseType);
-        dropViewStatement.buildAttributes();
-        SQLStatementContext sqlStatementContext = new 
CommonSQLStatementContext(dropViewStatement);
-        assertRoute(sqlStatementContext, is("ds_0"));
+        assertRoute(new CommonSQLStatementContext(new 
DropViewStatement(databaseType, Collections.emptyList(), false)), is("ds_0"));
     }
     
     @Test
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
index fd61d359b81..da08d2bdd8d 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/DropViewStatementBinder.java
@@ -41,8 +41,7 @@ public final class DropViewStatementBinder implements 
SQLStatementBinder<DropVie
     }
     
     private DropViewStatement copy(final DropViewStatement sqlStatement, final 
Collection<SimpleTableSegment> boundViews) {
-        DropViewStatement result = new 
DropViewStatement(sqlStatement.getDatabaseType());
-        result.getViews().addAll(boundViews);
+        DropViewStatement result = new 
DropViewStatement(sqlStatement.getDatabaseType(), boundViews, 
sqlStatement.isIfExists());
         SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
         return result;
     }
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefreshEngineTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefreshEngineTest.java
index c7ea6574ed9..93ee8265839 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefreshEngineTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefreshEngineTest.java
@@ -34,6 +34,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 
+import java.util.Collections;
 import java.util.Optional;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -77,7 +78,7 @@ class FederationMetaDataRefreshEngineTest {
     
     @Test
     void assertIsNeedRefreshWhenDropViewStatement() {
-        when(sqlStatementContext.getSqlStatement()).thenReturn(new 
DropViewStatement(databaseType));
+        when(sqlStatementContext.getSqlStatement()).thenReturn(new 
DropViewStatement(databaseType, Collections.emptyList(), false));
         assertTrue(new 
FederationMetaDataRefreshEngine(sqlStatementContext).isNeedRefresh());
     }
     
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresherTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresherTest.java
index a82020d665c..37dc7b66cb3 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresherTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresherTest.java
@@ -26,7 +26,6 @@ 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.statement.type.ddl.view.DropViewStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
@@ -49,18 +48,11 @@ class DropViewFederationMetaDataRefresherTest {
     @Mock
     private ShardingSphereDatabase database;
     
-    private DropViewStatement sqlStatement;
-    
-    @BeforeEach
-    void setUp() {
-        sqlStatement = new DropViewStatement(databaseType);
-    }
-    
     @Test
     void assertRefresh() {
         String schemaName = "foo_schema";
-        sqlStatement.getViews().add(new SimpleTableSegment(new 
TableNameSegment(0, 0, new IdentifierValue("foo_view"))));
-        sqlStatement.getViews().add(new SimpleTableSegment(new 
TableNameSegment(0, 0, new IdentifierValue("bar_view"))));
+        DropViewStatement sqlStatement = new DropViewStatement(databaseType, 
Arrays.asList(
+                new SimpleTableSegment(new TableNameSegment(0, 0, new 
IdentifierValue("foo_view"))), new SimpleTableSegment(new TableNameSegment(0, 
0, new IdentifierValue("bar_view")))), false);
         refresher.refresh(metaDataManagerPersistService, databaseType, 
database, schemaName, sqlStatement);
         verify(metaDataManagerPersistService).dropViews(database, schemaName, 
Arrays.asList("foo_view", "bar_view"));
     }
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/view/DropViewPushDownMetaDataRefresherTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/view/DropViewPushDownMetaDataRefresherTest.java
index 3237065ed48..345ae7c8cf8 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/view/DropViewPushDownMetaDataRefresherTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/view/DropViewPushDownMetaDataRefresherTest.java
@@ -54,9 +54,8 @@ class DropViewPushDownMetaDataRefresherTest {
     void assertRefresh() {
         ShardingSphereDatabase database = new ShardingSphereDatabase(
                 "foo_db", databaseType, new 
ResourceMetaData(Collections.emptyMap()), new 
RuleMetaData(Collections.emptyList()), Collections.emptyList());
-        DropViewStatement sqlStatement = new DropViewStatement(databaseType);
-        sqlStatement.getViews().add(new SimpleTableSegment(new 
TableNameSegment(0, 0, new IdentifierValue("foo_view"))));
-        sqlStatement.getViews().add(new SimpleTableSegment(new 
TableNameSegment(0, 0, new IdentifierValue("bar_view"))));
+        DropViewStatement sqlStatement = new DropViewStatement(databaseType, 
Arrays.asList(
+                new SimpleTableSegment(new TableNameSegment(0, 0, new 
IdentifierValue("foo_view"))), new SimpleTableSegment(new TableNameSegment(0, 
0, new IdentifierValue("bar_view")))), false);
         refresher.refresh(metaDataManagerPersistService, database, "logic_ds", 
"foo_schema", databaseType, sqlStatement, new ConfigurationProperties(new 
Properties()));
         verify(metaDataManagerPersistService).dropTables(database, 
"foo_schema", Arrays.asList("foo_view", "bar_view"));
         verify(metaDataManagerPersistService).dropViews(database, 
"foo_schema", Arrays.asList("foo_view", "bar_view"));
diff --git 
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
index ef6cdcfe003..16023d3dae3 100644
--- 
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
@@ -332,10 +332,7 @@ public final class DorisDDLStatementVisitor extends 
DorisStatementVisitor implem
     @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().addAll(((CollectionValue<SimpleTableSegment>) 
visit(ctx.viewNames())).getValue());
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
((CollectionValue<SimpleTableSegment>) visit(ctx.viewNames())).getValue(), null 
!= ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
index 345fd02a144..7384d27ef6f 100644
--- 
a/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
@@ -337,10 +337,7 @@ public final class HiveDDLStatementVisitor extends 
HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().add((SimpleTableSegment) 
visit(ctx.viewNameWithDb()));
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
Collections.singleton((SimpleTableSegment) visit(ctx.viewNameWithDb())), null 
!= ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
index 621c9e141dd..7b9decee665 100644
--- 
a/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
@@ -247,10 +247,7 @@ public final class MySQLDDLStatementVisitor extends 
MySQLStatementVisitor implem
     @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().addAll(((CollectionValue<SimpleTableSegment>) 
visit(ctx.viewNames())).getValue());
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
((CollectionValue<SimpleTableSegment>) visit(ctx.viewNames())).getValue(), null 
!= ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
index 2a8f4e52149..b31628919bb 100644
--- 
a/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
@@ -676,10 +676,7 @@ public final class OpenGaussDDLStatementVisitor extends 
OpenGaussStatementVisito
     @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().addAll(((CollectionValue<SimpleTableSegment>) 
visit(ctx.qualifiedNameList())).getValue());
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
((CollectionValue<SimpleTableSegment>) 
visit(ctx.qualifiedNameList())).getValue(), null != ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
index 5b04a22ecce..db51851f2b2 100644
--- 
a/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
@@ -799,9 +799,7 @@ public final class OracleDDLStatementVisitor extends 
OracleStatementVisitor impl
     
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.getViews().add((SimpleTableSegment) visit(ctx.viewName()));
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
Collections.singleton((SimpleTableSegment) visit(ctx.viewName())), false);
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index 53abb5a0014..14743049c24 100644
--- 
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -823,10 +823,7 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
     @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().addAll(((CollectionValue<SimpleTableSegment>) 
visit(ctx.qualifiedNameList())).getValue());
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
((CollectionValue<SimpleTableSegment>) 
visit(ctx.qualifiedNameList())).getValue(), null != ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/engine/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/engine/presto/visitor/statement/type/PrestoDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/engine/presto/visitor/statement/type/PrestoDDLStatementVisitor.java
index 6594d674b45..145dbf136b5 100644
--- 
a/parser/sql/engine/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/engine/presto/visitor/statement/type/PrestoDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/engine/presto/visitor/statement/type/PrestoDDLStatementVisitor.java
@@ -74,10 +74,7 @@ public final class PrestoDDLStatementVisitor extends 
PrestoStatementVisitor impl
     @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        result.getViews().addAll(((CollectionValue<SimpleTableSegment>) 
visit(ctx.viewNames())).getValue());
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
((CollectionValue<SimpleTableSegment>) visit(ctx.viewNames())).getValue(), null 
!= ctx.ifExists());
     }
     
     @SuppressWarnings("unchecked")
diff --git 
a/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
index fe4b73c8a8a..48dc0350a38 100644
--- 
a/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
@@ -70,7 +70,6 @@ import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.Dro
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ModifyColumnSpecificationContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.TableConstraintContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.TruncateTableContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ViewNameContext;
 import 
org.apache.shardingsphere.sql.parser.engine.sqlserver.visitor.statement.SQLServerStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.AlterDefinitionSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.CreateDefinitionSegment;
@@ -124,6 +123,7 @@ import 
org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.service.SQLS
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
+import java.util.stream.Collectors;
 
 /**
  * DDL statement visitor for SQLServer.
@@ -488,12 +488,7 @@ public final class SQLServerDDLStatementVisitor extends 
SQLServerStatementVisito
     
     @Override
     public ASTNode visitDropView(final DropViewContext ctx) {
-        DropViewStatement result = new DropViewStatement(getDatabaseType());
-        result.setIfExists(null != ctx.ifExists());
-        for (ViewNameContext each : ctx.viewName()) {
-            result.getViews().add((SimpleTableSegment) visit(each));
-        }
-        return result;
+        return new DropViewStatement(getDatabaseType(), 
ctx.viewName().stream().map(each -> (SimpleTableSegment) 
visit(each)).collect(Collectors.toList()), null != ctx.ifExists());
     }
     
     @Override
diff --git 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/view/DropViewStatement.java
 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/view/DropViewStatement.java
index 1c8acd55127..6aa9ff00416 100644
--- 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/view/DropViewStatement.java
+++ 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/view/DropViewStatement.java
@@ -18,7 +18,6 @@
 package 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.view;
 
 import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.attribute.SQLStatementAttributes;
@@ -26,27 +25,27 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.attribute.t
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.DDLStatement;
 
 import java.util.Collection;
-import java.util.LinkedList;
 
 /**
  * Drop view statement.
  */
 @Getter
-@Setter
 public final class DropViewStatement extends DDLStatement {
     
-    private final Collection<SimpleTableSegment> views = new LinkedList<>();
+    private final Collection<SimpleTableSegment> views;
     
-    private boolean ifExists;
+    private final boolean ifExists;
     
-    private SQLStatementAttributes attributes;
+    private final SQLStatementAttributes attributes;
     
-    public DropViewStatement(final DatabaseType databaseType) {
+    public DropViewStatement(final DatabaseType databaseType, final 
Collection<SimpleTableSegment> views, final boolean ifExists) {
         super(databaseType);
+        this.views = views;
+        this.ifExists = ifExists;
+        attributes = new SQLStatementAttributes(new 
TableSQLStatementAttribute(views));
     }
     
     @Override
     public void buildAttributes() {
-        attributes = new SQLStatementAttributes(new 
TableSQLStatementAttribute(views));
     }
 }

Reply via email to