You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2024/10/18 04:42:03 UTC

(iotdb) branch master updated: Do not add attr columns to TableSchema when registering to TsFile (#13814)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a613422c9e5 Do not add attr columns to TableSchema when registering to TsFile (#13814)
a613422c9e5 is described below

commit a613422c9e53a8162ff19e7ee055a758f7972731
Author: Jiang Tian <jt...@163.com>
AuthorDate: Fri Oct 18 12:41:56 2024 +0800

    Do not add attr columns to TableSchema when registering to TsFile (#13814)
---
 .../plan/relational/metadata/TableSchema.java         | 19 +++++++++++++++++++
 .../iotdb/db/storageengine/dataregion/DataRegion.java |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
index f790533991d..6b24740732d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
@@ -81,6 +81,25 @@ public class TableSchema {
         tableName, measurementSchemas, columnTypes);
   }
 
+  public org.apache.tsfile.file.metadata.TableSchema toTsFileTableSchemaNoAttribute() {
+    // TODO-Table: unify redundant definitions
+    String tableName = this.getTableName();
+    List<IMeasurementSchema> measurementSchemas = new ArrayList<>();
+    List<ColumnType> columnTypes = new ArrayList<>();
+    for (ColumnSchema column : columns) {
+      if (column.getColumnCategory() == TsTableColumnCategory.TIME
+          || column.getColumnCategory() == TsTableColumnCategory.ATTRIBUTE) {
+        continue;
+      }
+      measurementSchemas.add(
+          new MeasurementSchema(
+              column.getName(), InternalTypeManager.getTSDataType(column.getType())));
+      columnTypes.add(column.getColumnCategory().toTsFileColumnType());
+    }
+    return new org.apache.tsfile.file.metadata.TableSchema(
+        tableName, measurementSchemas, columnTypes);
+  }
+
   private static final Logger LOGGER = org.slf4j.LoggerFactory.getLogger(TableSchema.class);
 
   public static TableSchema fromTsFileTableSchema(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 376fb0cbdde..0c39924e9e8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -1372,7 +1372,7 @@ public class DataRegion implements IDataRegionForQuery {
           tableName,
           t ->
               TableSchema.of(DataNodeTableCache.getInstance().getTable(getDatabaseName(), t))
-                  .toTsFileTableSchema());
+                  .toTsFileTableSchemaNoAttribute());
     }
   }