This is an automated email from the ASF dual-hosted git repository.
chenyz pushed a change to branch parallel_multi_child_node
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from f9e90c23e6b Merge branch 'parallel_multi_child_node' of
github.com:apache/iotdb into parallel_multi_child_node
add f4fd9666876 Introduce User-defined Polymorphic Table Function
add a7ebfa82873 DAL: Fix deletion buffer oom & enable DAL direct memory
management
add 27624c01fc6 Resolve conflict
No new revisions were added by this update.
Summary of changes:
.../iotdb/udf/table/ExcludeColumnExample.java | 108 +++++
.../org/apache/iotdb/udf/table/RepeatExample.java | 125 ++++++
.../org/apache/iotdb/udf/table/SplitExample.java | 114 +++++
.../example/relational/MyErrorTableFunction.java | 114 +++++
.../udf/example/relational/MyExcludeColumn.java | 89 ++++
.../udf/example/relational/MyRepeatWithIndex.java | 102 +++++
.../example/relational/MyRepeatWithoutIndex.java | 99 +++++
.../db/query/udf/example/relational/MySplit.java | 98 +++++
.../org/apache/iotdb/db/it/utils/TestUtils.java | 1 -
.../it/db/it/udf/IoTDBSQLFunctionManagementIT.java | 22 +-
.../db/it/udf/IoTDBUserDefinedTableFunctionIT.java | 272 ++++++++++++
.../iotdb/udf/api/relational/TableFunction.java | 83 +++-
.../iotdb/udf/api/relational/access/Record.java | 2 +
.../relational/table/TableFunctionAnalysis.java | 89 ++++
.../table/TableFunctionProcessorProvider.java | 43 ++
.../api/relational/table/argument/Argument.java | 33 +-
.../relational/table/argument/DescribedSchema.java | 89 ++++
.../relational/table/argument/ScalarArgument.java | 155 +++++++
.../relational/table/argument/TableArgument.java | 177 ++++++++
.../processor/TableFunctionDataProcessor.java | 64 +++
.../processor/TableFunctionLeafProcessor.java | 31 +-
.../specification/ParameterSpecification.java | 77 ++++
.../ScalarParameterSpecification.java | 76 ++++
.../specification/TableParameterSpecification.java | 98 +++++
.../java/org/apache/iotdb/udf/api/type/Type.java | 38 ++
.../deletion/persist/PageCacheDeletionBuffer.java | 9 +-
.../v1/handler/StatementConstructionHandler.java | 2 +-
.../process/function/PartitionRecognizer.java | 179 ++++++++
.../function/TableFunctionLeafOperator.java | 111 +++++
.../process/function/TableFunctionOperator.java | 269 ++++++++++++
.../process/function/partition/PartitionState.java | 62 +++
.../operator/process/function/partition/Slice.java | 183 ++++++++
.../process/function/partition/SliceCache.java | 106 +++++
.../config/executor/ClusterConfigTaskExecutor.java | 18 +
.../config/metadata/ShowFunctionsTask.java | 6 +
.../plan/parser/StatementGenerator.java | 4 +-
.../plan/planner/TableOperatorGenerator.java | 87 ++++
.../plan/planner/plan/node/PlanGraphPrinter.java | 54 +++
.../plan/planner/plan/node/PlanNodeType.java | 9 +-
.../plan/planner/plan/node/PlanVisitor.java | 10 +
.../plan/relational/analyzer/Analysis.java | 14 +
.../relational/analyzer/StatementAnalyzer.java | 482 ++++++++++++++++++++-
.../tablefunction/ArgumentAnalysis.java} | 29 +-
.../tablefunction/ArgumentsAnalysis.java} | 54 +--
.../tablefunction/TableArgumentAnalysis.java | 152 +++++++
.../TableFunctionInvocationAnalysis.java | 68 +++
.../plan/relational/metadata/Metadata.java | 3 +
.../relational/metadata/TableMetadataImpl.java | 13 +
.../plan/relational/metadata/TableSchema.java | 2 +-
.../planner/DataOrganizationSpecification.java | 106 +++++
.../plan/relational/planner/QueryPlanner.java | 20 +
.../plan/relational/planner/RelationPlanner.java | 137 ++++++
.../planner/distribute/AddExchangeNodes.java | 14 +
.../distribute/TableDistributedPlanGenerator.java | 20 +-
.../rule/ImplementTableFunctionSource.java | 163 +++++++
.../rule/PruneTableFunctionProcessorColumns.java | 86 ++++
.../PruneTableFunctionProcessorSourceColumns.java | 96 ++++
.../plan/relational/planner/node/Patterns.java | 13 +-
.../relational/planner/node/TableFunctionNode.java | 358 +++++++++++++++
.../planner/node/TableFunctionProcessorNode.java | 274 ++++++++++++
.../optimizations/LogicalOptimizeFactory.java | 6 +
.../PushLimitOffsetIntoTableScan.java | 11 +
.../planner/optimizations/SymbolMapper.java | 7 +
.../optimizations/UnaliasSymbolReferences.java | 107 +++++
.../plan/relational/sql/ast/AstVisitor.java | 13 +
.../ast/{Table.java => TableFunctionArgument.java} | 53 +--
.../{Table.java => TableFunctionInvocation.java} | 53 +--
.../sql/ast/TableFunctionTableArgument.java | 119 +++++
.../plan/relational/sql/parser/AstBuilder.java | 108 +++++
.../plan/relational/sql/util/SqlFormatter.java | 75 ++++
.../db/storageengine/dataregion/DataRegion.java | 4 +
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 3 +-
.../process/tvf/TableFunctionOperatorTest.java | 302 +++++++++++++
.../db/queryengine/plan/function/Exclude.java | 89 ++++
.../iotdb/db/queryengine/plan/function/Repeat.java | 106 +++++
.../iotdb/db/queryengine/plan/function/Split.java | 98 +++++
.../plan/parser/StatementGeneratorTest.java | 2 +-
.../plan/relational/analyzer/TSBSMetadata.java | 6 +
.../relational/analyzer/TableFunctionTest.java | 303 +++++++++++++
.../plan/relational/analyzer/TestMatadata.java | 20 +
.../planner/assertions/PlanMatchPattern.java | 20 +
.../planner/assertions/SpecificationProvider.java | 79 ++++
.../assertions/TableFunctionProcessorMatcher.java | 303 +++++++++++++
.../schema/table/column/TsTableColumnCategory.java | 2 +-
.../iotdb/commons/udf/access/RecordIterator.java | 141 +++---
.../relational/TableBuiltinTableFunction.java | 50 +--
.../builtin/relational/tvf/HOPTableFunction.java | 153 +++++++
.../db/relational/grammar/sql/RelationalSql.g4 | 29 ++
88 files changed, 7424 insertions(+), 250 deletions(-)
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/ExcludeColumnExample.java
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/RepeatExample.java
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/table/SplitExample.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyErrorTableFunction.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyExcludeColumn.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyRepeatWithIndex.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MyRepeatWithoutIndex.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/relational/MySplit.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/udf/IoTDBUserDefinedTableFunctionIT.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/TableFunctionAnalysis.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/TableFunctionProcessorProvider.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java
=>
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/Argument.java
(58%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/DescribedSchema.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/ScalarArgument.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/argument/TableArgument.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/processor/TableFunctionDataProcessor.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Literal.java
=>
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/processor/TableFunctionLeafProcessor.java
(58%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/ParameterSpecification.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/ScalarParameterSpecification.java
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/relational/table/specification/TableParameterSpecification.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/TableFunctionLeafOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/TableFunctionOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/PartitionState.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/Slice.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/partition/SliceCache.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{type/TypeNotFoundException.java
=> analyzer/tablefunction/ArgumentAnalysis.java} (53%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{sql/ast/ShowConfigNodes.java
=> analyzer/tablefunction/ArgumentsAnalysis.java} (50%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/tablefunction/TableArgumentAnalysis.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/tablefunction/TableFunctionInvocationAnalysis.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/DataOrganizationSpecification.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableFunctionNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableFunctionProcessorNode.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> TableFunctionArgument.java} (57%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> TableFunctionInvocation.java} (58%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TableFunctionTableArgument.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Exclude.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Repeat.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/Split.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TableFunctionTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/SpecificationProvider.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/TableFunctionProcessorMatcher.java
copy
integration-test/src/main/java/org/apache/iotdb/itbase/constant/BuiltinAggregationFunctionEnum.java
=>
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/TableBuiltinTableFunction.java
(53%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/HOPTableFunction.java