This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a change to branch TableModelIngestion
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from e6ce64880b9 add distributed plan test
add 0793238b8bf [Table Model] Support schema validation and fetch for data
insert and query
add 3e8bbf11e87 Put method getDataPartition into class Metadata, add basic
sort implementation
add 56bd78583b9 Remove global timefilter in Analysis
add bf2f741a8fa Add TranslationMap and support of subquery analyze
add f503487d7fb Fix allocate symbol by Expression
add b6a2c79ddb0 Implement TODO in fe part of query engine for refactoring
IDeviceId in PartitionFetcher
add c308e14c36e Use QualifiedObjectName in TableScan, perfect
getDataPartition interface in Metadata, perfect FilterScanCombine rule
add 9cb0210675c Add TimeSlice Control for TableScanOperator
add 0bef1d93f86 Support new data type in table branch
new a79a80244a8 Merge branch 'ty/TableModelGrammar' into
TableModelIngestion
The 1 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:
.../load/subscriber/NodeStatisticsChangeEvent.java | 31 --
.../db/queryengine/common/MPPQueryContext.java | 14 -
.../db/queryengine/common/header/ColumnHeader.java | 12 +-
.../fragment/FragmentInstanceContext.java | 9 +
.../operator/process/DeviceViewOperator.java | 9 +-
.../schema/source/SchemaSourceFactory.java | 20 +
.../schema/source/TableDeviceFetchSource.java | 121 ++++++
.../schema/source/TableDeviceQuerySource.java | 242 ++++++++++++
.../source/AbstractSeriesScanOperator.java | 10 +-
.../operator/source/AlignedSeriesScanOperator.java | 15 +-
.../source/relational/TableScanOperator.java | 107 +-----
.../relational/ColumnTransformerBuilder.java | 55 +--
.../db/queryengine/plan/analyze/Analysis.java | 70 ++--
.../queryengine/plan/analyze/AnalyzeVisitor.java | 159 ++++----
.../queryengine/plan/analyze/TemplatedAnalyze.java | 9 +-
.../TableModelStatementMemorySourceVisitor.java | 7 +-
.../plan/optimization/AggregationPushDown.java | 14 +-
.../plan/planner/LogicalPlanBuilder.java | 28 +-
.../plan/planner/LogicalPlanVisitor.java | 21 +-
.../plan/planner/OperatorTreeGenerator.java | 2 +-
.../plan/planner/TableOperatorGenerator.java | 102 +++--
.../plan/planner/TemplatedLogicalPlan.java | 15 +-
.../plan/planner/distribution/SourceRewriter.java | 29 +-
.../plan/planner/plan/FragmentInstance.java | 13 +
.../plan/planner/plan/node/PlanGraphPrinter.java | 43 ++-
.../plan/planner/plan/node/PlanNodeType.java | 11 +-
.../plan/planner/plan/node/PlanVisitor.java | 33 +-
.../node/metedata/read/TableDeviceFetchNode.java | 173 +++++++++
.../node/metedata/read/TableDeviceQueryNode.java | 219 +++++++++++
...tchScanNode.java => TableDeviceSourceNode.java} | 72 ++--
.../planner/plan/node/process/DeviceViewNode.java | 50 +--
.../plan/node/process/SingleDeviceViewNode.java | 27 +-
.../plan/relational/analyzer/Analysis.java | 44 +--
.../relational/analyzer/ExpressionAnalyzer.java | 43 +--
.../relational/analyzer/StatementAnalyzer.java | 16 +-
.../predicate/ConvertPredicateToFilterVisitor.java | 8 +
.../CheckSchemaPredicateVisitor.java} | 117 +++---
.../ConvertSchemaPredicateToFilterVisitor.java | 173 +++++++++
.../plan/relational/metadata/ColumnSchema.java | 12 +
.../plan/relational/metadata/Metadata.java | 23 ++
.../relational/metadata/QualifiedObjectName.java | 2 +
.../relational/metadata/TableMetadataImpl.java | 105 ++++--
.../fetcher/DeviceInCacheFilterVisitor.java | 66 ++++
.../metadata/fetcher/SchemaPredicateUtil.java | 176 +++++++++
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 380 +++++++++++++++++++
.../fetcher/TableDeviceSchemaValidator.java | 262 +++++++++++++
.../fetcher/TableHeaderSchemaValidator.java | 175 +++++++++
.../plan/relational/planner/LogicalPlanner.java | 133 +++++--
.../plan/relational/planner/OrderingScheme.java | 2 +-
.../plan/relational/planner/PlanBuilder.java | 131 ++++---
.../plan/relational/planner/QueryPlanner.java | 65 +---
.../plan/relational/planner/RelationPlanner.java | 13 +-
.../relational/planner/RelationalModelPlanner.java | 8 +-
.../plan/relational/planner/SymbolAllocator.java | 24 ++
.../plan/relational/planner/TranslationMap.java | 334 ++++++++++++++++
.../planner/distribute/ExchangeNodeGenerator.java | 137 ++++++-
.../distribute/TableDistributionPlanner.java | 2 +-
.../distribute/TableModelQueryFragmentPlanner.java | 4 -
.../TableModelTypeProviderExtractor.java | 37 +-
.../relational/planner/ir/ExpressionRewriter.java | 23 ++
.../planner/ir/ExpressionTranslateVisitor.java | 149 --------
.../planner/ir/ExpressionTreeRewriter.java | 64 ++++
.../ir/GlobalTimePredicateExtractVisitor.java | 104 +++--
.../plan/relational/planner/ir/IrVisitor.java | 5 +
.../relational/planner/node/TableScanNode.java | 112 ++++--
.../planner/optimizations/FilterScanCombine.java | 227 -----------
.../planner/optimizations/IndexScan.java | 256 -------------
.../planner/optimizations/PruneUnUsedColumns.java | 10 +-
.../optimizations/PushPredicateIntoTableScan.java | 337 +++++++++++++++++
.../optimizations/RelationalPlanOptimizer.java | 2 -
.../RemoveRedundantIdentityProjections.java | 5 +-
.../planner/optimizations/SimplifyExpressions.java | 6 +-
.../plan/relational/sql/ast/AstVisitor.java | 8 +
.../ast/{CreateDevice.java => FetchDevice.java} | 71 ++--
.../plan/relational/sql/ast/LikePredicate.java | 2 +-
.../plan/relational/sql/ast/QualifiedName.java | 2 +-
.../plan/relational/sql/ast/ShowDevice.java | 159 ++++++++
.../plan/relational/type/InternalTypeManager.java | 16 +
.../dag/column/CaseWhenThenColumnTransformer.java | 13 +-
.../dag/column/ColumnTransformer.java | 8 +-
.../binary/CompareBinaryColumnTransformer.java | 4 +-
.../binary/CompareEqualToColumnTransformer.java | 12 +-
.../binary/CompareNonEqualColumnTransformer.java | 12 +-
.../column/ternary/BetweenColumnTransformer.java | 5 +-
.../ternary/CompareTernaryColumnTransformer.java | 9 +-
.../dag/column/unary/InColumnTransformer.java | 8 +
.../dag/column/unary/RegularColumnTransformer.java | 5 +-
.../scalar/CastFunctionColumnTransformer.java | 38 ++
.../schemaengine/schemaregion/ISchemaRegion.java | 2 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 6 +-
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 4 +-
.../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 50 ++-
.../schemaRegion/SchemaRegionTestUtil.java | 12 +-
.../execution/operator/DeviceViewOperatorTest.java | 8 +-
.../execution/operator/MergeSortOperatorTest.java | 12 +-
.../execution/operator/OperatorMemoryTest.java | 29 +-
.../execution/operator/TopKOperatorTest.java | 12 +-
.../db/queryengine/plan/analyze/AnalyzeTest.java | 56 +--
.../plan/optimization/TestPlanBuilder.java | 19 +-
.../plan/planner/PipelineBuilderTest.java | 3 +-
.../logical/DataQueryLogicalPlannerTest.java | 43 ++-
.../plan/planner/node/PlanGraphPrinterTest.java | 3 +-
.../node/process/DeviceViewNodeSerdeTest.java | 7 +-
.../process/SingleDeviceViewNodeSerdeTest.java | 3 +-
.../plan/relational/analyzer/AnalyzerTest.java | 418 +++++++++++++--------
.../plan/relational/analyzer/TestMatadata.java | 124 ++++--
.../iotdb/commons/partition/DataPartition.java | 40 ++
.../apache/iotdb/commons/path/PathPatternTree.java | 4 +-
.../commons/schema/filter/SchemaFilterVisitor.java | 2 +-
.../org/apache/iotdb/commons/utils/PathUtils.java | 4 +-
110 files changed, 4932 insertions(+), 1835 deletions(-)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceFetchSource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/TableDeviceQuerySource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TableDeviceFetchNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TableDeviceQueryNode.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/{SchemaFetchScanNode.java
=> TableDeviceSourceNode.java} (65%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/{PredicatePushIntoScanChecker.java
=> schema/CheckSchemaPredicateVisitor.java} (51%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/DeviceInCacheFilterVisitor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/SchemaPredicateUtil.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaFetcher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTranslateVisitor.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/FilterScanCombine.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/IndexScan.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{CreateDevice.java
=> FetchDevice.java} (56%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java