Skip to content

Refactor: extract shared table-model PlanNode and Operator code from datanode#17526

Open
shuwenwei wants to merge 52 commits intomasterfrom
calc_commons
Open

Refactor: extract shared table-model PlanNode and Operator code from datanode#17526
shuwenwei wants to merge 52 commits intomasterfrom
calc_commons

Conversation

@shuwenwei
Copy link
Copy Markdown
Member

@shuwenwei shuwenwei commented Apr 21, 2026

Summary

This PR performs a larger modularization refactor around table-model planning and execution code.

The main change is to extract shared code that was previously located in datanode into common modules:

  • move shared table-model PlanNode related code into node-commons
  • move shared Operator implementations and their required dependencies into calc-commons

Motivation

Previously, a portion of table-model planning and execution code lived in datanode even though the logic itself was not truly DataNode-specific. That made module boundaries unclear and introduced unnecessary
dependencies from common logic onto datanode.

This refactor aims to:

  • reduce coupling to datanode
  • clarify ownership of shared planning and execution code
  • make common components reusable by other modules
  • prepare the codebase for further modularization work

Main Changes

  • extracted common table-model PlanNode code from datanode to node-commons
  • extracted common Operator code and related dependencies from datanode to calc-commons
  • adjusted related interfaces / abstractions so common code no longer depends directly on DataNode-only implementations
  • reorganized some shared utility and codegen-related pieces to match the new module boundaries

Impact

  • no intended functional change
  • this is primarily a code movement and dependency cleanup refactor
  • follow-up cleanup may still be needed for imports, package layout, and other incremental refinements

Notes

This PR is part of a larger ongoing modularization effort. Because of that, the diff contains substantial file moves and dependency boundary adjustments.

Review Guide

Please focus on semantic and structural changes and ignore import/package-only movements where possible.

Overall Intent

This refactor modularizes shared table-model planning and execution code:

  • move shared table-model PlanNode related code from datanode to node-commons
  • move shared Operator implementations and their common runtime dependencies from datanode to calc-commons
  • keep DataNode-specific runtime integration in datanode through subclassing, SPI, and bridge implementations
  • no intended functional change; this is mainly a dependency-boundary cleanup and code extraction refactor

Suggested Review Areas

  1. TableOperatorGenerator split
  • common table-model operator construction logic is extracted to calc-commons
  • DataNode-specific execution logic is retained in DataNodeTableOperatorGenerator
  • please verify behavior parity after moving methods and replacing direct DataNode dependencies with interfaces/generics
  1. Operator context and execution context abstraction
  • introduced CommonOperatorContext in calc-commons
  • OperatorContext remains the DataNode-specific implementation
  • please verify memory reservation, fragment/pipeline id, temp file handling, and explain-analyze related information are preserved
  1. PlanNode / Visitor / Deserializer modularization
  • shared table-model PlanNode, visitor base interfaces, and common deserialization are moved to node-commons
  • DataNode-specific nodes remain handled by DataNodePlanNodeDeserializer
  • please verify serialization/deserialization compatibility and visitor default dispatch behavior
  1. SQL AST / Formatter split
  • shared query AST visiting/formatting is extracted to CommonQueryAstVisitor and CommonQuerySqlFormatter
  • DataNode-specific statement formatting remains in DataNodeSqlFormatter
  • please verify that no formatter visitor methods were dropped during the split and that SQL output remains unchanged
  1. Metadata / TableFunction / UDF decoupling
  • shared function lookup interfaces/factories are introduced to reduce direct datanode coupling
  • DataNode-specific table function and AINode integration now hangs off SPI/provider bridges
  • please verify builtin/UDF resolution order and function return type behavior remain unchanged
  1. Shared utilities and services extracted behind bridges
  • object file utilities, temporary query data file service, and some common relational/cast utilities were moved or split
  • DataNode-specific runtime behavior is provided through service loader based implementations where needed
  • please verify common logic remains generic while runtime-specific behavior is still correctly provided by datanode

Files Worth Checking First

  • iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/plan/planner/TableOperatorGenerator.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
  • iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/queryengine/plan/planner/plan/node/PlanNodeType.java
  • iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/queryengine/plan/planner/plan/node/CommonPlanNodeDeserializer.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/DataNodePlanNodeDeserializer.java
  • iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/queryengine/plan/relational/sql/util/CommonQuerySqlFormatter.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/DataNodeSqlFormatter.java
  • iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/CommonOperatorContext.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorContext.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java

Specific Things to Watch For

  • methods that should have been moved but were accidentally deleted during refactoring
  • visitor default-dispatch regressions, especially around super.visit... to interface-default dispatch changes
  • missing node type cases after splitting serializer/deserializer responsibilities
  • residual hard dependencies from calc-commons or node-commons back to datanode
  • behavior changes introduced by SPI/service-loader based bridges
  • SQL formatter or AST visitor output drift after splitting common vs DataNode implementations

@JackieTien97 JackieTien97 requested a review from Copilot April 21, 2026 06:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR modularizes table-model planning/execution by extracting shared PlanNode and Operator-related code from datanode into common modules (node-commons and calc-commons), updating package names and dependencies accordingly.

Changes:

  • Moved/refactored table-model aggregation/operator/window/rowpattern implementations into calc-commons with updated packages/imports.
  • Updated callers (CLI, REST, integration tests) to reference relocated common utilities/types.
  • Adjusted operator context abstractions (OperatorContextCommonOperatorContext) and related wiring.

Reviewed changes

Copilot reviewed 294 out of 2180 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/HyperLogLogBigArray.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/FloatBigArray.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/DoubleBigArray.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/ByteBigArray.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/BooleanBigArray.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/BinaryBigArray.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/array/BigArrays.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/LongGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/IntGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedVarianceAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedUserDefinedAggregateAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedSumAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedMinByAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedMinAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedMaxMinByBaseAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedMaxByAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedMaxAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedLastByAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedLastAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedFirstByAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedFirstAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedExtremeAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedCountIfAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedCountAllAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedCountAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedAvgAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedApproxPercentileWithWeightAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedApproxPercentileAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedApproxCountDistinctAccumulator.java Package/import migration + DEFAULT_STANDARD_ERROR import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedAggregator.java Updated time column template source to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/GroupedAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/FloatGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/DoubleGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/BooleanGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/BlobGroupedApproxMostFrequentAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/BinaryGroupedApproxMostFrequentAccumulator.java Package/import migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/AbstractGroupedApproxPercentileAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/grouped/AbstractGroupedApproxMostFrequentAccumulator.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/TDigest.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/StreamSummary.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/SpaceSavingStateFactory.java Package/import migration + static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/SpaceSavingByteCalculator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/SpaceSaving.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/Pair.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/ListNode2.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/ITopK.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/HyperLogLogStateFactory.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/HyperLogLog.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/ExternalizableUtil.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/DoublyLinkedList.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/Counter.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/ApproxMostFrequentBucketSerializer.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/approximate/ApproxMostFrequentBucketDeserializer.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/Utils.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/UserDefinedAggregateFunctionAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableVarianceAccumulator.java Package migration + VarianceAccumulator moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableModeAccumulator.java Config dependency switched to CommonDescriptor
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableMinByAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableMaxMinByBaseAccumulator.java Package migration + Utils static imports updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableMaxByAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableAggregator.java Metrics wiring moved + time column template source updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/TableAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/SumAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/RecordIterator.java ObjectTypeUtils dependency moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/MinAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/MaxAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/MaskedRecordIterator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/LongApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/LastDescAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/LastByDescAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/LastByAccumulator.java Package migration + Utils static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/LastAccumulator.java Package migration + Utils static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/IntApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/FloatApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/FirstDescAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/FirstByDescAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/FirstByAccumulator.java Package migration + Utils static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/FirstAccumulator.java Package migration + Utils static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/ExtremeAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/DoubleApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/CountIfAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/CountAllAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/CountAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/BooleanApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/BlobApproxMostFrequentAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/BinaryApproxMostFrequentAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/AvgAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/ApproxPercentileWithWeightAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/ApproxPercentileAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/ApproxCountDistinctAccumulator.java Package migration + imports updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/AggregationMask.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/AbstractApproxPercentileAccumulator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/aggregation/AbstractApproxMostFrequentAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/MergeSortSemiJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/MergeSortLeftJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/MergeSortInnerJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/AsofMergeSortLeftJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/AsofMergeSortInnerJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/utils/RowComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/utils/Range.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/utils/ColumnList.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/frame/RowsFrame.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/frame/RangeFrame.java Package migration + static imports adjusted
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/frame/GroupsFrame.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/frame/FrameInfo.java Planner AST types moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/frame/Frame.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/PartitionExecutor.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/partition/Partition.java Slice/ColumnList references moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/ValueWindowFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/NthValueFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/LeadFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/LastValueFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/LagFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/value/FirstValueFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/RowNumberFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/RankWindowFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/RankFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/PercentRankFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/NTileFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/DenseRankFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/rank/CumeDistFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/aggregate/AggregationWindowFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/WindowFunctionFactory.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/window/function/WindowFunction.java Package/import migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Split.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Save.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Program.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/PatternCaptures.java Captures dependency moved to calc plan utils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Matcher.java Package migration + static import updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/MatchStart.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/MatchResult.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/MatchLabel.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/MatchEnd.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Jump.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/IntStack.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/IntMultimap.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/IntList.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Instruction.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Done.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/ArrayView.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/ReferenceComputation.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/PatternExpressionComputation.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/NaryOperator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/NaryComputation.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/LogicalOperator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/ConstantComputation.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/ComparisonOperator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/CastComputation.java AST DataType moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/BinaryOperator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/BinaryComputation.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/expression/ArithmeticOperator.java Package migration + SemanticException moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PhysicalValuePointer.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PhysicalValueAccessor.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PhysicalAggregationPointer.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PatternVariableRecognizer.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PatternPartitionExecutor.java Package migration + planner node deps moved to commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PatternAggregators.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PatternAggregator.java TIME_COLUMN_TEMPLATE source moved to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/PatternAggregationTracker.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/LogicalIndexNavigation.java Added constructor bridging commons rowpattern pointers
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/JoinKeyComparatorFactory.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/JoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescLongTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescLongTypeIgnoreEqualJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescIntTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescFloatTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescDoubleTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescBooleanTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/DescBinaryTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscLongTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscLongTypeIgnoreEqualJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscIntTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscFloatTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscDoubleTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscBooleanTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/comparator/AscBinaryTypeJoinKeyComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/join/merge/SortKeyComparator.java SortKey moved to calc utils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java OperatorContext abstraction changed + nextDateBin import moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java OperatorContext abstraction changed + nextDateBin import moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java OperatorContext abstraction changed + SortKey moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java OperatorContext abstraction changed + SortKey moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/AbstractGapFillWoGroupOperator.java OperatorContext abstraction changed + SortKey moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/gapfill/AbstractGapFillWGroupOperator.java OperatorContext abstraction changed + SortKey moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/function/partition/Slice.java ObjectTypeUtils + RecordIterator constant moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/function/partition/PartitionState.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/function/partition/PartitionCache.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/function/PartitionRecognizer.java SortOrder import moved to commons + calc package refs
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/linear/LinearFill.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/identity/IdentityLinearFill.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/identity/IdentityFill.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/MonthIntervalUSFillFilter.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/MonthIntervalNSFillFilter.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/MonthIntervalMSFillFilter.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/FixedIntervalFillFilter.java Interface import moved to calc fill package
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/AbstractMonthIntervalFillFilter.java Interface import moved to calc fill package
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/ILinearFill.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/IFillFilter.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/fill/IFill.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/ValuesOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableTopKOperator.java TIME_COLUMN_TEMPLATE source moved to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableSortOperator.java TIME_COLUMN_TEMPLATE source moved + DiskSpiller impl moved
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableMergeSortOperator.java TIME_COLUMN_TEMPLATE source moved to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableLinearFillWithGroupOperator.java TIME_COLUMN_TEMPLATE source moved to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableLinearFillOperator.java OperatorContext abstraction changed + override visibility widened
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/TableFillOperator.java OperatorContext abstraction changed + override visibility widened
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/SortOperator.java DiskSpiller/SortKey moved to calc utils + ctor visibility widened
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/ProcessOperator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/PreviousFillWithGroupOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/OffsetOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/MergeSortOperator.java OperatorContext abstraction changed + ctor visibility widened
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/MappingCollectOperator.java TIME_COLUMN_TEMPLATE source moved to CommonOperatorUtils
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/LimitOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/EnforceSingleRowOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/CollectOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/AggregationMergeSortOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/AbstractConsumeAllOperator.java Abstract operator base moved + OperatorContext abstraction changed
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/TsBlockWithPositionComparator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/SimpleTsBlockWithPositionComparator.java SortOrder import moved to commons + calc utils refs
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/RowReferenceTsBlockManager.java BigArray deps moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/RowReference.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/RowIdHashStrategy.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/RowIdComparisonStrategy.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/Operator.java Operator API updated (context type changed)
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/IdRegistry.java IntArrayFIFOQueue moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/GroupedTopNRowNumberBuilder.java TIME_COLUMN_TEMPLATE import moved + GroupByHash dependency updated
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/GroupedTopNRowNumberAccumulator.java HeapTraversal + BigArray deps moved to calc
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/GroupedTopNBuilder.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/AbstractOperator.java OperatorContext abstraction changed to CommonOperatorContext
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/aggregation/VarianceAccumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/execution/aggregation/Accumulator.java Package migration to calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/exception/QueryProcessException.java Exception moved into calc-commons
iotdb-core/calc-commons/src/main/java/org/apache/iotdb/calc/exception/MemoryNotEnoughException.java Exception moved into calc-commons
iotdb-core/calc-commons/src/main/codegen/templates/previousFillWithTimeDuration.ftl Codegen output path/package updated for calc
iotdb-core/calc-commons/src/main/codegen/templates/previousFill.ftl Codegen output path/package updated for calc
iotdb-core/calc-commons/src/main/codegen/templates/linearFill.ftl Codegen output path/package updated for calc
iotdb-core/calc-commons/src/main/codegen/templates/constantFill.ftl Codegen output path/package updated for calc
iotdb-core/calc-commons/src/main/codegen/templates/ModeAccumulator.ftl Codegen updated to use CommonDescriptor
iotdb-core/calc-commons/src/main/codegen/templates/ArithmeticUnaryColumnTransformer.ftl Codegen output path/package updated for calc transformation
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/AbstractDataTool.java Updated DateTimeUtils/SqlConstant imports to new common locations
integration-test/src/test/java/org/apache/iotdb/relational/it/query/view/old/query/IoTDBArithmeticTableViewIT.java DateTimeUtils import updated to commons
integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBArithmeticTableIT.java DateTimeUtils import updated to commons
integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBFormatFunctionTableIT.java DateTimeUtils import updated to commons
integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/builtinfunction/scalar/IoTDBCastFunctionTableIT.java DateTimeUtils import updated to commons
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/udf/IoTDBSQLFunctionManagementIT.java TableBuiltinTableFunction import moved to commons
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBMultiTAGsWithAttributesTableIT.java JoinType static imports moved to commons
integration-test/src/test/java/org/apache/iotdb/confignode/it/procedure/IoTDBProcedureIT.java SqlConstant import updated to calc location
integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBTimePartitionIT.java SqlConstant import updated to calc location
integration-test/src/main/java/org/apache/iotdb/itbase/constant/BuiltinAggregationFunctionEnum.java BuiltinAggregationFunction import moved to commons
integration-test/src/main/java/org/apache/iotdb/it/env/cluster/EnvUtils.java DateTimeUtils static import moved to commons
integration-test/pom.xml Added calc-commons dependency for integration tests
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v2/impl/RestApiServiceImpl.java SessionInfo import moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v2/handler/StatementConstructionHandler.java TimestampPrecisionUtils import moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v2/handler/ExceptionHandler.java Exception imports updated to calc/commons locations
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v1/handler/StatementConstructionHandler.java TimestampPrecisionUtils import moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v1/handler/ExceptionHandler.java Exception imports updated to calc/commons locations
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/table/v1/impl/RestApiServiceImpl.java SQL AST + SqlDialect types moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/table/v1/handler/StatementConstructionHandler.java TimestampPrecisionUtils import moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/table/v1/handler/QueryDataSetHandler.java SQL AST types moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/table/v1/handler/ExecuteStatementHandler.java SQL AST types moved to commons
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/table/v1/handler/ExceptionHandler.java Exception + ParsingException imports moved to commons/calc

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +61 to +69
public LogicalIndexNavigation(
LogicalIndexPointer logicalIndexPointer, Map<IrLabel, Integer> mapping) {
this(
logicalIndexPointer.getLabels().stream().map(mapping::get).collect(toImmutableSet()),
logicalIndexPointer.isLast(),
logicalIndexPointer.isRunning(),
logicalIndexPointer.getLogicalOffset(),
logicalIndexPointer.getPhysicalOffset());
}
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mapping::get can return null for an IrLabel not present in mapping, and toImmutableSet() does not allow nulls, causing a runtime NPE. Validate the mapping contains all required labels (e.g., checkArgument(mapping.containsKey(label)) and/or wrap mapping.get(label) with requireNonNull and a clear message) before collecting.

Copilot uses AI. Check for mistakes.
*/

package org.apache.iotdb.db.exception.query;
package org.apache.iotdb.calc.exception;
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moving QueryProcessException to a new package is a breaking change for any downstream code importing the old FQCN. If external modules/plugins are expected to compile against older packages, consider keeping a deprecated compatibility shim in the old package (extending or delegating to the new exception) for at least one release cycle.

Copilot uses AI. Check for mistakes.
ListenableFuture<?> NOT_BLOCKED = immediateVoidFuture();

OperatorContext getOperatorContext();
CommonOperatorContext getOperatorContext();
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing Operator#getOperatorContext() from OperatorContext to CommonOperatorContext is a source/binary breaking API change for all Operator implementers. If cross-module implementers exist, consider introducing CommonOperatorContext as a subtype of the old context type (or providing an adapter/default bridge method) to reduce churn and preserve compatibility.

Copilot uses AI. Check for mistakes.

default TsBlock nextWithTimer() throws Exception {
OperatorContext context = getOperatorContext();
CommonOperatorContext context = getOperatorContext();
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing Operator#getOperatorContext() from OperatorContext to CommonOperatorContext is a source/binary breaking API change for all Operator implementers. If cross-module implementers exist, consider introducing CommonOperatorContext as a subtype of the old context type (or providing an adapter/default bridge method) to reduce churn and preserve compatibility.

Copilot uses AI. Check for mistakes.

default boolean hasNextWithTimer() throws Exception {
OperatorContext context = getOperatorContext();
CommonOperatorContext context = getOperatorContext();
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing Operator#getOperatorContext() from OperatorContext to CommonOperatorContext is a source/binary breaking API change for all Operator implementers. If cross-module implementers exist, consider introducing CommonOperatorContext as a subtype of the old context type (or providing an adapter/default bridge method) to reduce churn and preserve compatibility.

Copilot uses AI. Check for mistakes.
@shuwenwei shuwenwei marked this pull request as ready for review April 21, 2026 10:13
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

❌ Patch coverage is 55.78947% with 42 lines in your changes missing coverage. Please review.
✅ Project coverage is 39.82%. Comparing base (112bcd8) to head (88694d2).

Files with missing lines Patch % Lines
...calc/execution/operator/CommonOperatorContext.java 82.05% 7 Missing ⚠️
...tor/process/rowpattern/LogicalIndexNavigation.java 0.00% 7 Missing ⚠️
...ution/operator/process/AssignUniqueIdOperator.java 0.00% 3 Missing ⚠️
...source/relational/aggregation/TableAggregator.java 0.00% 3 Missing ⚠️
.../java/org/apache/iotdb/mqtt/MPPPublishHandler.java 0.00% 2 Missing ⚠️
...ss/window/function/aggregate/WindowAggregator.java 0.00% 2 Missing ⚠️
...ce/relational/aggregation/AggregationOperator.java 0.00% 2 Missing ⚠️
...lc/execution/operator/process/CollectOperator.java 0.00% 1 Missing ⚠️
...ion/operator/process/EnforceSingleRowOperator.java 0.00% 1 Missing ⚠️
...ution/operator/process/MappingCollectOperator.java 0.00% 1 Missing ⚠️
... and 13 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #17526      +/-   ##
============================================
+ Coverage     39.80%   39.82%   +0.01%     
- Complexity      312     2539    +2227     
============================================
  Files          5144     5168      +24     
  Lines        347963   347926      -37     
  Branches      44410    44446      +36     
============================================
+ Hits         138521   138574      +53     
+ Misses       209442   209352      -90     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@shuwenwei shuwenwei requested a review from JackieTien97 April 23, 2026 02:14
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
7.3% Duplication on New Code (required ≤ 5%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants