This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a change to branch update_last_cache_in_load
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 38716408044 ignore perf test
add a8f1e4031af Change keep_input to preserve_input
add 46e636b06c7 Changed the error code of create table view in tree
dialect to 701 & Fixed the bug that table device is treated as a device with
template
add 565f1bfe4fb Reorder the show databases / tables dataset by
database/table name
add 444f57b5ac3 Subscription: apply IoTConsensusV2 as cluster mode for
integration test (#15546)
add dbea2df6941 IoTV2: Fix the issue of resend lots of replicated files
when DN restarts. (#15600)
add eb20060c382 Pipe: Fixed the problem of null pointer and incorrect
Tablet format being modified during TSFile construction (#15602)
add 3ba8b0c17ac [AINode] Integrate Sundial as built-in model (#15586)
add b3cb21fe86a [AINode] Remove TimerXL from the builtin list (#15616)
add e513f1732a3 [AINode] Integrate python code standardization (#15593)
add 7ad193cb33b Introduce row pattern recognition
add db7729a3161 Fixed the bug that the tree model database deletion may
clear the table model cache
add 8b18a87b696 Pipe: Unbinded the default meter for remaining insertion
event count for hybrid degrading & Changed some default values of related
properties (#15615)
add 8fb0b468824 Fixed the bug that the view from tree can be written
add 9909d1c7032 Merge branch 'master' into update_last_cache_in_load
No new revisions were added by this update.
Summary of changes:
.github/workflows/greeting-ainode.yml | 52 ++
.github/workflows/pipe-it.yml | 6 +-
.../iotdb/it/env/cluster/env/AbstractEnv.java | 26 +-
.../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 6 +-
...rageGroupIT.java => IoTDBDeleteDatabaseIT.java} | 18 +-
.../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 42 +-
.../org/apache/iotdb/db/it/utils/TestUtils.java | 17 +-
.../it/db/it/IoTDBPatternRecognitionIT.java | 951 +++++++++++++++++++++
.../relational/it/schema/IoTDBDatabaseIT.java | 61 +-
.../iotdb/relational/it/schema/IoTDBTableIT.java | 23 +-
.../it/IoTDBSubscriptionITConstant.java | 28 +
.../AbstractSubscriptionTreeRegressionIT.java | 82 +-
.../IoTDBDefaultTsfilePushConsumerIT.java | 11 +
.../IoTDBRootPullConsumeTsfileIT.java | 10 +
.../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java | 10 +
.../IoTDBDevicePatternPullConsumerDataSetIT.java | 31 +-
...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java | 28 +-
...oTDBSnapshotTSPatternDatasetPushConsumerIT.java | 14 +-
.../multi/IoTDBMultiGroupVsMultiConsumerIT.java | 10 +
iotdb-core/ainode/ainode/TimerXL/__init__.py | 2 +-
.../ainode/ainode/TimerXL/layers/Attn_Bias.py | 43 +-
.../ainode/TimerXL/layers/Attn_Projection.py | 14 +-
iotdb-core/ainode/ainode/TimerXL/layers/Embed.py | 119 ++-
.../ainode/TimerXL/layers/SelfAttention_Family.py | 98 ++-
.../ainode/TimerXL/layers/Transformer_EncDec.py | 167 ++--
.../ainode/ainode/TimerXL/layers/__init__.py | 2 +-
.../ainode/ainode/TimerXL/models/__init__.py | 2 +-
.../ainode/TimerXL/models/configuration_timer.py | 23 +-
.../ainode/ainode/TimerXL/models/timer_xl.py | 275 +++---
iotdb-core/ainode/ainode/core/client.py | 128 ++-
iotdb-core/ainode/ainode/core/config.py | 121 ++-
iotdb-core/ainode/ainode/core/constant.py | 63 +-
iotdb-core/ainode/ainode/core/exception.py | 50 +-
iotdb-core/ainode/ainode/core/handler.py | 14 +-
iotdb-core/ainode/ainode/core/log.py | 32 +-
.../ainode/ainode/core/manager/cluster_manager.py | 27 +-
.../ainode/core/manager/inference_manager.py | 72 +-
.../ainode/ainode/core/manager/model_manager.py | 48 +-
.../ainode/core/model/built_in_model_factory.py | 503 +++++++----
.../ainode/ainode/core/model/model_factory.py | 156 ++--
.../ainode/ainode/core/model/model_storage.py | 27 +-
.../ainode/ainode/core/model/sundial}/__init__.py | 0
.../model/sundial/configuration_sundial.py} | 45 +-
.../ainode/ainode/core/model/sundial/flow_loss.py | 255 ++++++
.../ainode/core/model/sundial/modeling_sundial.py | 691 +++++++++++++++
.../core/model/sundial/ts_generation_mixin.py | 374 ++++++++
iotdb-core/ainode/ainode/core/script.py | 115 ++-
iotdb-core/ainode/ainode/core/service.py | 12 +-
iotdb-core/ainode/ainode/core/util/activation.py | 8 +-
.../ainode/ainode/core/util/huggingface_cache.py | 51 +-
iotdb-core/ainode/ainode/core/util/masking.py | 48 +-
iotdb-core/ainode/ainode/core/util/serde.py | 56 +-
iotdb-core/ainode/poetry.lock | 707 +++++++++++++--
iotdb-core/ainode/pyproject.toml | 10 +-
.../confignode/conf/SystemPropertiesUtils.java | 1 -
.../PipeConfigNodeRemainingTimeOperator.java | 4 +-
.../iotdb/confignode/persistence/ModelInfo.java | 7 +-
.../procedure/env/ConfigNodeProcedureEnv.java | 16 +-
.../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 2 -
.../db/consensus/DataRegionConsensusImpl.java | 1 -
.../db/consensus/SchemaRegionConsensusImpl.java | 1 -
.../builder/PipeTableModelTsFileBuilderV2.java | 13 +-
.../util/builder/PipeTreeModelTsFileBuilderV2.java | 11 +-
...oricalDataRegionTsFileAndDeletionExtractor.java | 99 ++-
.../PipeDataNodeRemainingEventAndTimeOperator.java | 6 +-
.../pipeconsensus/PipeConsensusReceiver.java | 8 -
.../protocol/client/ConfigNodeClientManager.java | 1 -
.../iotdb/db/protocol/client/ConfigNodeInfo.java | 1 -
.../impl/DataNodeInternalRPCServiceImpl.java | 10 +-
.../common/header/DatasetHeaderFactory.java | 6 +-
...erator.java => PatternRecognitionOperator.java} | 159 ++--
.../process/rowpattern/LogicalIndexNavigation.java | 189 ++++
.../rowpattern/PatternPartitionExecutor.java | 442 ++++++++++
.../rowpattern/PatternVariableRecognizer.java | 147 ++++
.../process/rowpattern/PhysicalValueAccessor.java | 4 +-
.../process/rowpattern/PhysicalValuePointer.java} | 32 +-
.../rowpattern/expression/ArithmeticOperator.java | 81 ++
.../expression/BinaryComputation.java} | 24 +-
.../expression/BinaryOperator.java} | 15 +-
.../rowpattern/expression/ComparisonOperator.java | 145 ++++
.../process/rowpattern/expression/Computation.java | 185 ++++
.../expression/ConstantComputation.java} | 16 +-
.../expression/LogicalOperator.java} | 59 +-
.../expression/NaryComputation.java} | 25 +-
.../expression/NaryOperator.java} | 14 +-
.../expression/PatternExpressionComputation.java | 153 ++++
.../expression/ReferenceComputation.java} | 22 +-
.../process/rowpattern/matcher/ArrayView.java | 55 ++
.../operator/process/rowpattern/matcher/Done.java} | 26 +-
.../matcher/Instruction.java} | 45 +-
.../process/rowpattern/matcher/IntList.java | 82 ++
.../process/rowpattern/matcher/IntMultimap.java | 112 +++
.../matcher/IntStack.java} | 47 +-
.../matcher/IrRowPatternToProgramRewriter.java | 264 ++++++
.../operator/process/rowpattern/matcher/Jump.java} | 41 +-
.../process/rowpattern/matcher/MatchEnd.java} | 26 +-
.../process/rowpattern/matcher/MatchLabel.java} | 41 +-
.../matcher/MatchResult.java} | 38 +-
.../process/rowpattern/matcher/MatchStart.java} | 26 +-
.../process/rowpattern/matcher/Matcher.java | 256 ++++++
.../rowpattern/matcher/PatternCaptures.java | 66 ++
.../process/rowpattern/matcher/Program.java | 83 ++
.../operator/process/rowpattern/matcher/Save.java} | 26 +-
.../process/rowpattern/matcher/Split.java} | 43 +-
.../process/window/utils/RowComparator.java | 2 +
.../InformationSchemaContentSupplierFactory.java | 2 +-
.../db/queryengine/plan/analyze/AnalyzeUtils.java | 6 +-
.../queryengine/plan/analyze/AnalyzeVisitor.java | 2 +-
.../config/metadata/relational/ShowDBTask.java | 36 +-
.../metadata/relational/ShowTablesDetailsTask.java | 2 +
.../config/metadata/relational/ShowTablesTask.java | 2 +
.../db/queryengine/plan/parser/ASTVisitor.java | 3 +-
.../plan/planner/TableOperatorGenerator.java | 236 +++++
.../plan/planner/plan/node/PlanGraphPrinter.java | 20 +
.../plan/planner/plan/node/PlanNodeType.java | 5 +-
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../plan/relational/analyzer/Analysis.java | 128 +++
.../relational/analyzer/ExpressionAnalyzer.java | 607 ++++++++++++-
.../analyzer/PatternRecognitionAnalysis.java | 338 ++++++++
.../analyzer/PatternRecognitionAnalyzer.java | 228 +++++
.../relational/analyzer/StatementAnalyzer.java | 220 +++++
.../function/tvf/ForecastTableFunction.java | 2 +-
.../relational/metadata/TableMetadataImpl.java | 4 +-
.../fetcher/TableHeaderSchemaValidator.java | 31 +-
.../plan/relational/planner/QueryPlanner.java | 13 +
.../plan/relational/planner/RelationPlanner.java | 356 ++++++++
.../plan/relational/planner/TranslationMap.java | 7 +-
.../distribute/TableDistributedPlanGenerator.java | 23 +
.../planner/ir/ExpressionTreeRewriter.java | 3 +-
.../iterative/rule/ExpressionRewriteRuleSet.java | 260 +++---
.../rule/ImplementPatternRecognition.java | 100 +++
.../planner/iterative/rule/OptimizeRowPattern.java | 63 ++
.../rule/PrunePatternRecognitionSourceColumns.java | 78 ++
.../iterative/rule/SimplifyExpressions.java | 8 +-
.../plan/relational/planner/node/Measure.java | 95 ++
.../planner/node/PatternRecognitionNode.java | 384 +++++++++
.../plan/relational/planner/node/Patterns.java | 23 +-
.../plan/relational/planner/node/RowsPerMatch.java | 127 +++
.../node/SkipToPosition.java} | 26 +-
.../DataNodeLocationSupplierFactory.java | 4 -
.../optimizations/LogicalOptimizeFactory.java | 14 +-
.../planner/optimizations/ParallelizeGrouping.java | 22 +
.../planner/optimizations/SymbolMapper.java | 69 ++
.../optimizations/UnaliasSymbolReferences.java | 14 +
.../planner/rowpattern/ClassifierValuePointer.java | 70 ++
.../rowpattern/ExpressionAndValuePointers.java | 234 +++++
.../planner/rowpattern/IrAlternation.java | 99 +++
.../relational/planner/rowpattern/IrAnchor.java | 87 ++
.../planner/rowpattern/IrConcatenation.java | 100 +++
.../rowpattern/IrEmpty.java} | 50 +-
.../planner/rowpattern/IrExclusion.java} | 57 +-
.../rowpattern/IrLabel.java} | 56 +-
.../rowpattern/IrPatternAlternationOptimizer.java | 141 +++
.../planner/rowpattern/IrPermutation.java | 96 +++
.../planner/rowpattern/IrQuantified.java | 88 ++
.../planner/rowpattern/IrQuantifier.java | 126 +++
.../planner/rowpattern/IrRowPattern.java | 117 +++
.../planner/rowpattern/IrRowPatternFlattener.java | 206 +++++
.../planner/rowpattern/IrRowPatternVisitor.java | 68 ++
.../planner/rowpattern/LogicalIndexPointer.java | 167 ++++
.../rowpattern/MatchNumberValuePointer.java} | 27 +-
.../relational/planner/rowpattern/Patterns.java | 83 ++
.../planner/rowpattern/RowPatternToIrRewriter.java | 148 ++++
.../planner/rowpattern/ScalarValuePointer.java | 82 ++
.../planner/rowpattern/ValuePointer.java} | 8 +-
.../{RemoveDataNode.java => AnchorPattern.java} | 43 +-
.../plan/relational/sql/ast/AstVisitor.java | 80 ++
.../sql/ast/DefaultTraversalVisitor.java | 48 ++
...howCurrentSqlDialect.java => EmptyPattern.java} | 34 +-
.../{RemoveDataNode.java => ExcludedPattern.java} | 40 +-
.../plan/relational/sql/ast/FunctionCall.java | 82 +-
.../plan/relational/sql/ast/Identifier.java | 6 +
.../sql/ast/{Table.java => MeasureDefinition.java} | 34 +-
.../{Relation.java => OneOrMoreQuantifier.java} | 9 +-
.../ast/{DropDB.java => PatternAlternation.java} | 40 +-
.../{Explain.java => PatternConcatenation.java} | 47 +-
.../ast/{DropDB.java => PatternPermutation.java} | 40 +-
...emoveConfigNode.java => PatternQuantifier.java} | 42 +-
.../sql/ast/PatternRecognitionRelation.java | 205 +++++
...{RemoveConfigNode.java => PatternVariable.java} | 40 +-
.../{RemoveDataNode.java => ProcessingMode.java} | 37 +-
.../plan/relational/sql/ast/QualifiedName.java | 23 +
.../sql/ast/{Union.java => QuantifiedPattern.java} | 61 +-
.../ast/{ShowCluster.java => RangeQuantifier.java} | 67 +-
.../sql/ast/{Relation.java => RowPattern.java} | 7 +-
.../plan/relational/sql/ast/SkipTo.java | 133 +++
.../sql/ast/{Table.java => SubsetDefinition.java} | 41 +-
.../ast/{Table.java => VariableDefinition.java} | 36 +-
.../{Relation.java => ZeroOrMoreQuantifier.java} | 9 +-
.../{Relation.java => ZeroOrOneQuantifier.java} | 9 +-
.../plan/relational/sql/parser/AstBuilder.java | 265 +++++-
.../relational/sql/util/ExpressionFormatter.java | 4 +
.../relational/sql/util/RowPatternFormatter.java | 143 ++++
.../plan/relational/sql/util/SqlFormatter.java | 139 ++-
.../statement/metadata/ShowDatabaseStatement.java | 41 +-
.../mtree/impl/mem/mnode/info/TableDeviceInfo.java | 2 +-
.../mtree/impl/mem/mnode/info/TreeDeviceInfo.java | 2 +-
.../table/DataNodeTreeViewSchemaUtils.java | 20 +
.../schemaengine/table/InformationSchemaUtils.java | 12 +-
.../rowpattern/IrRowPatternOptimizationTest.java | 208 +++++
.../operator/process/rowpattern/MatcherTest.java | 209 +++++
.../process/rowpattern/PatternExpressionTest.java | 53 ++
.../analyzer/RowPatternRecognitionTest.java | 459 ++++++++++
.../planner/PatternRecognitionNodeSerdeTest.java | 160 ++++
.../planner/assertions/PlanMatchPattern.java | 14 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 27 +-
...meRateAverageTime.java => PipeRateAverage.java} | 8 +-
.../iotdb/commons/pipe/config/PipeConfig.java | 10 +-
.../iotdb/commons/pipe/config/PipeDescriptor.java | 11 +-
.../schema/column/ColumnHeaderConstant.java | 4 +-
.../apache/iotdb/commons/schema/table/TsTable.java | 26 +-
.../db/relational/grammar/sql/RelationalSql.g4 | 89 +-
212 files changed, 15647 insertions(+), 2110 deletions(-)
create mode 100644 .github/workflows/greeting-ainode.yml
rename
integration-test/src/test/java/org/apache/iotdb/db/it/schema/{IoTDBDeleteStorageGroupIT.java
=> IoTDBDeleteDatabaseIT.java} (92%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBPatternRecognitionIT.java
copy {iotdb-client/client-py/iotdb =>
iotdb-core/ainode/ainode/core/model/sundial}/__init__.py (100%)
copy iotdb-core/ainode/ainode/{TimerXL/models/configuration_timer.py =>
core/model/sundial/configuration_sundial.py} (61%)
create mode 100644 iotdb-core/ainode/ainode/core/model/sundial/flow_loss.py
create mode 100644
iotdb-core/ainode/ainode/core/model/sundial/modeling_sundial.py
create mode 100644
iotdb-core/ainode/ainode/core/model/sundial/ts_generation_mixin.py
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{window/TableWindowOperator.java
=> PatternRecognitionOperator.java} (75%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/LogicalIndexNavigation.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternPartitionExecutor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternVariableRecognizer.java
copy
integration-test/src/main/java/org/apache/iotdb/itbase/category/DailyIT.java =>
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PhysicalValueAccessor.java
(87%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/type/TypeNotFoundException.java
=> execution/operator/process/rowpattern/PhysicalValuePointer.java} (52%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/ArithmeticOperator.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/identity/IdentityFill.java
=> rowpattern/expression/BinaryComputation.java} (61%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/IFillFilter.java
=> rowpattern/expression/BinaryOperator.java} (76%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/ComparisonOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/Computation.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/IFill.java
=> rowpattern/expression/ConstantComputation.java} (74%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{gapfill/AbstractGapFillWoGroupOperator.java
=> rowpattern/expression/LogicalOperator.java} (51%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/identity/IdentityFill.java
=> rowpattern/expression/NaryComputation.java} (61%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/IFillFilter.java
=> rowpattern/expression/NaryOperator.java} (76%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/PatternExpressionComputation.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/identity/IdentityFill.java
=> rowpattern/expression/ReferenceComputation.java} (67%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/ArrayView.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/Done.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{fill/identity/IdentityFill.java
=> rowpattern/matcher/Instruction.java} (58%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/IntList.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/IntMultimap.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{join/merge/DescTimeComparator.java
=> rowpattern/matcher/IntStack.java} (54%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/IrRowPatternToProgramRewriter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/Jump.java} (66%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/MatchEnd.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/MatchLabel.java} (65%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{join/merge/DescTimeComparator.java
=> rowpattern/matcher/MatchResult.java} (55%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/MatchStart.java} (75%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/Matcher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/PatternCaptures.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/matcher/Program.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/sql/ast/NaturalJoin.java
=> execution/operator/process/rowpattern/matcher/Save.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/{warnings/WarningCode.java
=> operator/process/rowpattern/matcher/Split.java} (59%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalysis.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalyzer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementPatternRecognition.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/OptimizeRowPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PrunePatternRecognitionSourceColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Measure.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/PatternRecognitionNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/RowsPerMatch.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{function/FunctionKind.java
=> planner/node/SkipToPosition.java} (61%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/ClassifierValuePointer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/ExpressionAndValuePointers.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrAlternation.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrAnchor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrConcatenation.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{sql/ast/ShowCurrentTimestamp.java
=> planner/rowpattern/IrEmpty.java} (59%)
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/subscription/topic/AlterTopicPlan.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrExclusion.java}
(51%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/{sql/ast/SymbolReference.java
=> planner/rowpattern/IrLabel.java} (51%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrPatternAlternationOptimizer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrPermutation.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrQuantified.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrQuantifier.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrRowPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrRowPatternFlattener.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/IrRowPatternVisitor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/LogicalIndexPointer.java
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/region/PollRegionMaintainTaskPlan.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/MatchNumberValuePointer.java}
(59%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/Patterns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/RowPatternToIrRewriter.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/rowpattern/ScalarValuePointer.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{execution/operator/source/relational/aggregation/approximate/SpaceSavingByteCalculator.java
=> plan/relational/planner/rowpattern/ValuePointer.java} (71%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveDataNode.java
=> AnchorPattern.java} (68%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{ShowCurrentSqlDialect.java
=> EmptyPattern.java} (80%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveDataNode.java
=> ExcludedPattern.java} (66%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> MeasureDefinition.java} (65%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Relation.java
=> OneOrMoreQuantifier.java} (81%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{DropDB.java
=> PatternAlternation.java} (63%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Explain.java
=> PatternConcatenation.java} (63%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{DropDB.java
=> PatternPermutation.java} (63%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveConfigNode.java
=> PatternQuantifier.java} (67%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/PatternRecognitionRelation.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveConfigNode.java
=> PatternVariable.java} (67%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveDataNode.java
=> ProcessingMode.java} (73%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Union.java
=> QuantifiedPattern.java} (59%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{ShowCluster.java
=> RangeQuantifier.java} (56%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Relation.java
=> RowPattern.java} (87%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SkipTo.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> SubsetDefinition.java} (60%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Table.java
=> VariableDefinition.java} (65%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Relation.java
=> ZeroOrMoreQuantifier.java} (81%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{Relation.java
=> ZeroOrOneQuantifier.java} (81%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/RowPatternFormatter.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/IrRowPatternOptimizationTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/MatcherTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternExpressionTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/RowPatternRecognitionTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PatternRecognitionNodeSerdeTest.java
rename
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/enums/{PipeRemainingTimeRateAverageTime.java
=> PipeRateAverage.java} (81%)