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 {
