This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 4604b4cbd11 Refactor InsertStatementContext (#32102)
4604b4cbd11 is described below

commit 4604b4cbd11c55eaa1f3162200db484f0e3a1934
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jul 14 22:16:44 2024 +0800

    Refactor InsertStatementContext (#32102)
---
 .../context/statement/dml/InsertStatementContext.java | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
index 48d8cd129a8..e3e944ec15b 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/InsertStatementContext.java
@@ -35,7 +35,6 @@ import 
org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import org.apache.shardingsphere.sql.parser.statement.core.enums.SubqueryType;
-import org.apache.shardingsphere.sql.parser.statement.core.util.TableExtractor;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.ColumnAssignmentSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.InsertValuesSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.SetAssignmentSegment;
@@ -45,6 +44,7 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.Expr
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubquerySegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.util.TableExtractor;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -58,13 +58,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 /**
  * Insert SQL statement context.
  */
-@Getter
 public final class InsertStatementContext extends CommonSQLStatementContext 
implements TableAvailable, ParameterAware {
     
-    private final TablesContext tablesContext;
-    
-    private final List<String> columnNames;
-    
     private final ShardingSphereMetaData metaData;
     
     private final String currentDatabaseName;
@@ -73,10 +68,19 @@ public final class InsertStatementContext extends 
CommonSQLStatementContext impl
     
     private final List<List<ExpressionSegment>> valueExpressions;
     
+    @Getter
+    private final TablesContext tablesContext;
+    
+    @Getter
+    private final List<String> columnNames;
+    
+    @Getter
     private List<InsertValueContext> insertValueContexts;
     
+    @Getter
     private InsertSelectContext insertSelectContext;
     
+    @Getter
     private OnDuplicateUpdateContext onDuplicateKeyUpdateValueContext;
     
     private GeneratedKeyContext generatedKeyContext;
@@ -216,8 +220,7 @@ public final class InsertStatementContext extends 
CommonSQLStatementContext impl
      * @return column names collection
      */
     public List<String> getInsertColumnNames() {
-        InsertStatement insertStatement = getSqlStatement();
-        return 
insertStatement.getSetAssignment().map(this::getColumnNamesForSetAssignment).orElseGet(()
 -> getColumnNamesForInsertColumns(insertStatement.getColumns()));
+        return 
getSqlStatement().getSetAssignment().map(this::getColumnNamesForSetAssignment).orElseGet(()
 -> getColumnNamesForInsertColumns(getSqlStatement().getColumns()));
     }
     
     private List<String> getColumnNamesForSetAssignment(final 
SetAssignmentSegment setAssignment) {

Reply via email to