You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2025/01/02 09:38:32 UTC
(iotdb) branch TreeToTableView updated (2d6860495bc -> 364d5c98889)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a change to branch TreeToTableView
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 2d6860495bc Add plan print logic for new added PlanNodes
add 06797285e3f Make column-prune not effective for InformationSchemaTableScanNode
add 5ebbb8da6a0 Load: remove unnecessary flushes in writer to avoid generating bad tsfiles (#14602)
new 57040775c53 Merge remote-tracking branch 'origin/master' into TreeToTableView
new 364d5c98889 fix compile error
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../plan/relational/metadata/TableMetadataImpl.java | 8 ++++----
.../iterative/rule/PruneTableScanColumns.java | 13 ++++---------
.../db/storageengine/load/LoadTsFileManager.java | 1 -
.../plan/relational/analyzer/ShowQueriesTest.java | 21 +++++++++++++++++++++
.../plan/relational/analyzer/TestMatadata.java | 12 ++++++++----
5 files changed, 37 insertions(+), 18 deletions(-)
(iotdb) 01/02: Merge remote-tracking branch 'origin/master' into TreeToTableView
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch TreeToTableView
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 57040775c538999897b371e58ad283e431cf3f1e
Merge: 2d6860495bc 5ebbb8da6a0
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Thu Jan 2 17:22:31 2025 +0800
Merge remote-tracking branch 'origin/master' into TreeToTableView
.../iterative/rule/PruneTableScanColumns.java | 13 ++++---------
.../db/storageengine/load/LoadTsFileManager.java | 1 -
.../plan/relational/analyzer/ShowQueriesTest.java | 21 +++++++++++++++++++++
3 files changed, 25 insertions(+), 10 deletions(-)
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableScanColumns.java
index 2b2a4afb411,c9c577300e6..f311c5c2709
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableScanColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableScanColumns.java
@@@ -88,53 -87,25 +88,48 @@@ public class PruneTableScanColumns exte
.forEach(
symbol -> newAssignments.put(symbol, node.getAssignments().get(symbol))));
- return Optional.of(
- new DeviceTableScanNode(
- deviceTableScanNode.getPlanNodeId(),
- deviceTableScanNode.getQualifiedObjectName(),
- newOutputs,
- newAssignments,
- deviceTableScanNode.getDeviceEntries(),
- deviceTableScanNode.getIdAndAttributeIndexMap(),
- deviceTableScanNode.getScanOrder(),
- deviceTableScanNode.getTimePredicate().orElse(null),
- deviceTableScanNode.getPushDownPredicate(),
- deviceTableScanNode.getPushDownLimit(),
- deviceTableScanNode.getPushDownOffset(),
- deviceTableScanNode.isPushLimitToEachDevice()));
+ if (node instanceof TreeDeviceViewScanNode) {
+ TreeDeviceViewScanNode treeDeviceViewScanNode =
+ (TreeDeviceViewScanNode) deviceTableScanNode;
+ return Optional.of(
+ new TreeDeviceViewScanNode(
+ deviceTableScanNode.getPlanNodeId(),
+ deviceTableScanNode.getQualifiedObjectName(),
+ newOutputs,
+ newAssignments,
+ deviceTableScanNode.getDeviceEntries(),
+ deviceTableScanNode.getIdAndAttributeIndexMap(),
+ deviceTableScanNode.getScanOrder(),
+ deviceTableScanNode.getTimePredicate().orElse(null),
+ deviceTableScanNode.getPushDownPredicate(),
+ deviceTableScanNode.getPushDownLimit(),
+ deviceTableScanNode.getPushDownOffset(),
+ deviceTableScanNode.isPushLimitToEachDevice(),
+ deviceTableScanNode.containsNonAlignedDevice(),
+ treeDeviceViewScanNode.getTreeDBName(),
+ treeDeviceViewScanNode.getMeasurementColumnNameMap()));
+ } else {
+ return Optional.of(
+ new DeviceTableScanNode(
+ deviceTableScanNode.getPlanNodeId(),
+ deviceTableScanNode.getQualifiedObjectName(),
+ newOutputs,
+ newAssignments,
+ deviceTableScanNode.getDeviceEntries(),
+ deviceTableScanNode.getIdAndAttributeIndexMap(),
+ deviceTableScanNode.getScanOrder(),
+ deviceTableScanNode.getTimePredicate().orElse(null),
+ deviceTableScanNode.getPushDownPredicate(),
+ deviceTableScanNode.getPushDownLimit(),
+ deviceTableScanNode.getPushDownOffset(),
+ deviceTableScanNode.isPushLimitToEachDevice(),
+ deviceTableScanNode.containsNonAlignedDevice()));
+ }
} else if (node instanceof InformationSchemaTableScanNode) {
- return Optional.of(
- new InformationSchemaTableScanNode(
- node.getPlanNodeId(),
- node.getQualifiedObjectName(),
- newOutputs,
- newAssignments,
- node.getPushDownPredicate(),
- node.getPushDownLimit(),
- node.getPushDownOffset()));
+ // For the convenience of process in execution stage, column-prune for
+ // InformationSchemaTableScanNode is
+ // not supported now.
+ return Optional.empty();
} else {
throw new UnsupportedOperationException(
"Unknown TableScanNode type: " + node.getClass().getSimpleName());
(iotdb) 02/02: fix compile error
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch TreeToTableView
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 364d5c98889e24d8a0a01c1686f85d155314b6a6
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Thu Jan 2 17:38:21 2025 +0800
fix compile error
---
.../plan/relational/metadata/TableMetadataImpl.java | 8 ++++----
.../queryengine/plan/relational/analyzer/TestMatadata.java | 12 ++++++++----
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
index a0fe2df16cb..5a803d9ee91 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
@@ -102,10 +102,10 @@ public class TableMetadataImpl implements Metadata {
if ("tree_view".equals(name.getDatabaseName())) {
List<ColumnSchema> columns = new ArrayList<>();
columns.add(new ColumnSchema("time", TIMESTAMP, false, TsTableColumnCategory.TIME));
- columns.add(new ColumnSchema("tag_1", STRING, false, TsTableColumnCategory.ID));
- columns.add(new ColumnSchema("tag_2", STRING, false, TsTableColumnCategory.ID));
- columns.add(new ColumnSchema("s_1", DOUBLE, false, TsTableColumnCategory.MEASUREMENT));
- columns.add(new ColumnSchema("s_2", DOUBLE, false, TsTableColumnCategory.MEASUREMENT));
+ columns.add(new ColumnSchema("tag_1", STRING, false, TsTableColumnCategory.TAG));
+ columns.add(new ColumnSchema("tag_2", STRING, false, TsTableColumnCategory.TAG));
+ columns.add(new ColumnSchema("s_1", DOUBLE, false, TsTableColumnCategory.FIELD));
+ columns.add(new ColumnSchema("s_2", DOUBLE, false, TsTableColumnCategory.FIELD));
return Optional.of(new TreeDeviceViewSchema(name.getObjectName(), columns));
}
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
index 9f77225d6de..28439c5ed67 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMatadata.java
@@ -142,13 +142,17 @@ public class TestMatadata implements Metadata {
ColumnSchema.builder(TIME_CM)
.setColumnCategory(TsTableColumnCategory.TIME)
.build(),
- ColumnSchema.builder(TAG1_CM).setColumnCategory(TsTableColumnCategory.ID).build(),
- ColumnSchema.builder(TAG2_CM).setColumnCategory(TsTableColumnCategory.ID).build(),
+ ColumnSchema.builder(TAG1_CM)
+ .setColumnCategory(TsTableColumnCategory.TAG)
+ .build(),
+ ColumnSchema.builder(TAG2_CM)
+ .setColumnCategory(TsTableColumnCategory.TAG)
+ .build(),
ColumnSchema.builder(S1_CM)
- .setColumnCategory(TsTableColumnCategory.MEASUREMENT)
+ .setColumnCategory(TsTableColumnCategory.FIELD)
.build(),
ColumnSchema.builder(S2_CM)
- .setColumnCategory(TsTableColumnCategory.MEASUREMENT)
+ .setColumnCategory(TsTableColumnCategory.FIELD)
.build()));
Mockito.when(treeDeviceViewSchema.getTreeDBName()).thenReturn(TREE_DB1);
Mockito.when(treeDeviceViewSchema.getMeasurementColumnNameMap())