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

jiangtian pushed a commit to branch TableModelIngestion
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 1ee67dbec7260fdb1e6a081a1c93afc27f6ffbc4
Merge: e03efd10277 751420c9eb9
Author: jt2594838 <[email protected]>
AuthorDate: Wed Jul 3 17:16:18 2024 +0800

    Merge branch 'ty/TableModelGrammar' into TableModelIngestion
    
    # Conflicts:
    #       
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
    #       
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java

 .../execution/config/TableConfigTaskVisitor.java   | 35 +---------
 .../plan/planner/plan/node/PlanNodeType.java       |  1 +
 .../plan/planner/plan/node/PlanVisitor.java        |  5 ++
 .../analyzer/StatementAnalyzerFactory.java         |  2 +-
 .../metadata/fetcher/TableDeviceSchemaFetcher.java | 15 +++--
 .../fetcher/TableHeaderSchemaValidator.java        | 78 +++++++++++++++++++++-
 .../plan/relational/planner/node/CollectNode.java  | 56 ++++++++++++++++
 .../plan/relational/planner/node/OutputNode.java   |  1 +
 8 files changed, 153 insertions(+), 40 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
index 8fe4c3f01de,589d6206950..7536c309bc6
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
@@@ -240,8 -239,7 +240,9 @@@ public enum PlanNodeType 
    TABLE_SORT_NODE((short) 1006),
    TABLE_MERGESORT_NODE((short) 1007),
    TABLE_TOPK_NODE((short) 1008),
 -  TABLE_COLLECT_NODE((short) 1009);
++  TABLE_COLLECT_NODE((short) 1009),
 +
 +  RELATIONAL_INSERT_TABLET((short) 2000);
  
    public static final int BYTES = Short.BYTES;
  
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzerFactory.java
index b777c91584b,b777c91584b..f37b6460994
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzerFactory.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzerFactory.java
@@@ -36,7 -36,7 +36,7 @@@ public class StatementAnalyzerFactory 
    public StatementAnalyzerFactory(
        Metadata metadata, SqlParser sqlParser, AccessControl accessControl) {
      this.metadata = requireNonNull(metadata, "plannerContext is null");
--    this.sqlParser = requireNonNull(sqlParser, "sqlParser is null");
++    this.sqlParser = sqlParser;
      this.accessControl = requireNonNull(accessControl, "accessControl is 
null");
    }
  
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
index 52b0f17203f,3588d670298..4f12a12fa26
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
@@@ -126,9 -135,12 +136,13 @@@ public class TableHeaderSchemaValidato
  
      // auto create missing table or columns
      if (table == null) {
 +      LOGGER.info("Trying to auto-create table: {}", tableSchema);
-       autoCreateTable(database, tableSchema, context);
+       autoCreateTable(database, tableSchema);
        table = DataNodeTableCache.getInstance().getTable(database, 
tableSchema.getTableName());
+       if (table == null) {
+         throw new IllegalStateException(
+             "auto create table succeed, but cannot get table schema in 
current node's DataNodeTableCache, may be caused by concurrently auto creating 
table");
+       }
      } else if (inputColumnList == null) {
        // do nothing
      } else {

Reply via email to