You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sh...@apache.org on 2026/04/15 09:00:37 UTC
(iotdb) 03/04: move transformation.dag.column
This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a commit to branch calc_commons
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 919761eb9402a7349ba09c79e4ca4e7caf309d4d
Author: shuwenwei <we...@timecho.com>
AuthorDate: Wed Apr 15 16:41:30 2026 +0800
move transformation.dag.column
---
.../ArithmeticBinaryColumnTransformer.ftl | 18 +-
.../templates/ArithmeticColumnTransformerApi.ftl | 16 +-
.../templates/ArithmeticUnaryColumnTransformer.ftl | 6 +-
.../plan/planner/TableOperatorGenerator.java | 4 +-
.../relational/metadata/CommonMetadataUtils.java | 185 ++++++++++
.../AbstractCaseWhenThenColumnTransformer.java | 2 +-
.../transformation/dag/column/ColumnCache.java | 2 +-
.../dag/column/ColumnTransformer.java | 6 +-
.../dag/column/FailFunctionColumnTransformer.java | 2 +-
.../column/TableCaseWhenThenColumnTransformer.java | 2 +-
.../column/TreeCaseWhenThenColumnTransformer.java | 2 +-
.../ArithmeticAdditionColumnTransformer.java | 4 +-
.../binary/ArithmeticBinaryColumnTransformer.java | 4 +-
.../ArithmeticDivisionColumnTransformer.java | 4 +-
.../binary/ArithmeticModuloColumnTransformer.java | 4 +-
.../ArithmeticMultiplicationColumnTransformer.java | 4 +-
.../ArithmeticSubtractionColumnTransformer.java | 4 +-
.../dag/column/binary/BinaryColumnTransformer.java | 4 +-
.../binary/CompareBinaryColumnTransformer.java | 14 +-
.../binary/CompareEqualToColumnTransformer.java | 6 +-
.../CompareGreaterEqualColumnTransformer.java | 4 +-
.../CompareGreaterThanColumnTransformer.java | 4 +-
.../binary/CompareLessEqualColumnTransformer.java | 4 +-
.../binary/CompareLessThanColumnTransformer.java | 4 +-
.../binary/CompareNonEqualColumnTransformer.java | 6 +-
.../dag/column/binary/HmacColumnTransformer.java | 8 +-
.../dag/column/binary/Like2ColumnTransformer.java | 6 +-
.../column/binary/LogicAndColumnTransformer.java | 4 +-
.../binary/LogicBinaryColumnTransformer.java | 4 +-
.../column/binary/LogicOrColumnTransformer.java | 4 +-
.../binary/factory/HmacStrategiesFactory.java | 4 +-
.../dag/column/binary/strategies/HmacStrategy.java | 2 +-
.../dag/column/leaf/ConstantColumnTransformer.java | 2 +-
.../dag/column/leaf/IdentityColumnTransformer.java | 2 +-
.../dag/column/leaf/LeafColumnTransformer.java | 4 +-
.../dag/column/leaf/NullColumnTransformer.java | 2 +-
.../dag/column/leaf/TimeColumnTransformer.java | 2 +-
.../AbstractGreatestLeastColumnTransformer.java | 4 +-
.../multi/BinaryGreatestColumnTransformer.java | 4 +-
.../column/multi/BinaryLeastColumnTransformer.java | 4 +-
.../multi/BooleanGreatestColumnTransformer.java | 4 +-
.../multi/BooleanLeastColumnTransformer.java | 4 +-
.../column/multi/CoalesceColumnTransformer.java | 4 +-
.../multi/DoubleGreatestColumnTransformer.java | 4 +-
.../column/multi/DoubleLeastColumnTransformer.java | 4 +-
.../multi/FloatGreatestColumnTransformer.java | 4 +-
.../column/multi/FloatLeastColumnTransformer.java | 4 +-
.../multi/InBinaryMultiColumnTransformer.java | 4 +-
.../multi/InBooleanMultiColumnTransformer.java | 4 +-
.../multi/InDoubleMultiColumnTransformer.java | 4 +-
.../multi/InFloatMultiColumnTransformer.java | 4 +-
.../multi/InInt32MultiColumnTransformer.java | 4 +-
.../multi/InInt64MultiColumnTransformer.java | 4 +-
.../dag/column/multi/InMultiColumnTransformer.java | 4 +-
.../multi/Int32GreatestColumnTransformer.java | 4 +-
.../column/multi/Int32LeastColumnTransformer.java | 4 +-
.../multi/Int64GreatestColumnTransformer.java | 4 +-
.../column/multi/Int64LeastColumnTransformer.java | 4 +-
.../multi/LogicalAndMultiColumnTransformer.java | 4 +-
.../multi/LogicalMultiColumnTransformer.java | 4 +-
.../multi/LogicalOrMultiColumnTransformer.java | 4 +-
.../column/multi/MappableUDFColumnTransformer.java | 4 +-
.../dag/column/multi/MultiColumnTransformer.java | 4 +-
.../column/ternary/BetweenColumnTransformer.java | 16 +-
.../ternary/CompareTernaryColumnTransformer.java | 4 +-
.../dag/column/ternary/Like3ColumnTransformer.java | 8 +-
.../dag/column/ternary/LpadColumnTransformer.java | 6 +-
.../dag/column/ternary/RpadColumnTransformer.java | 6 +-
.../column/ternary/TernaryColumnTransformer.java | 4 +-
.../dag/column/ternary/utils/BytePaddingUtils.java | 2 +-
.../udf/UserDefineScalarFunctionTransformer.java | 6 +-
.../unary/ArithmeticNegationColumnTransformer.java | 4 +-
.../dag/column/unary/InColumnTransformer.java | 4 +-
.../dag/column/unary/IsNullColumnTransformer.java | 4 +-
.../dag/column/unary/LikeColumnTransformer.java | 6 +-
.../column/unary/LogicNotColumnTransformer.java | 4 +-
.../dag/column/unary/RegularColumnTransformer.java | 6 +-
.../dag/column/unary/UnaryColumnTransformer.java | 4 +-
.../column/unary/scalar/AbsColumnTransformer.java | 6 +-
.../scalar/AbstractBitwise2ColumnTransformer.java | 6 +-
.../scalar/AbstractBitwiseColumnTransformer.java | 6 +-
.../AbstractCastFunctionColumnTransformer.java | 36 +-
.../scalar/AbstractLengthColumnTransformer.java | 6 +-
.../column/unary/scalar/AcosColumnTransformer.java | 6 +-
.../column/unary/scalar/AsinColumnTransformer.java | 6 +-
.../column/unary/scalar/AtanColumnTransformer.java | 6 +-
.../unary/scalar/BitCount2ColumnTransformer.java | 8 +-
.../unary/scalar/BitCountColumnTransformer.java | 8 +-
.../unary/scalar/BitwiseAnd2ColumnTransformer.java | 6 +-
.../unary/scalar/BitwiseAndColumnTransformer.java | 6 +-
.../scalar/BitwiseLeftShift2ColumnTransformer.java | 6 +-
.../scalar/BitwiseLeftShiftColumnTransformer.java | 6 +-
.../unary/scalar/BitwiseNotColumnTransformer.java | 8 +-
.../unary/scalar/BitwiseOr2ColumnTransformer.java | 6 +-
.../unary/scalar/BitwiseOrColumnTransformer.java | 6 +-
.../BitwiseRightShift2ColumnTransformer.java | 6 +-
...wiseRightShiftArithmetic2ColumnTransformer.java | 6 +-
...twiseRightShiftArithmeticColumnTransformer.java | 6 +-
.../scalar/BitwiseRightShiftColumnTransformer.java | 6 +-
.../unary/scalar/BitwiseXor2ColumnTransformer.java | 6 +-
.../unary/scalar/BitwiseXorColumnTransformer.java | 6 +-
.../unary/scalar/BlobLengthColumnTransformer.java | 4 +-
.../scalar/BytesToDoubleColumnTransformer.java | 10 +-
.../scalar/BytesToFloatColumnTransformer.java | 10 +-
.../unary/scalar/BytesToIntColumnTransformer.java | 10 +-
.../unary/scalar/BytesToLongColumnTransformer.java | 10 +-
.../dag/column/unary/scalar/CRC32Transformer.java | 6 +-
.../scalar/CastFunctionColumnTransformer.java | 4 +-
.../column/unary/scalar/CeilColumnTransformer.java | 6 +-
.../unary/scalar/Concat2ColumnTransformer.java | 8 +-
.../unary/scalar/ConcatColumnTransformer.java | 6 +-
.../unary/scalar/ConcatMultiColumnTransformer.java | 6 +-
.../column/unary/scalar/CosColumnTransformer.java | 6 +-
.../column/unary/scalar/CoshColumnTransformer.java | 6 +-
.../scalar/DateBinFunctionColumnTransformer.java | 6 +-
.../unary/scalar/DegreesColumnTransformer.java | 6 +-
.../column/unary/scalar/DiffColumnTransformer.java | 6 +-
.../scalar/DiffFunctionColumnTransformer.java | 6 +-
.../scalar/DoubleToBytesColumnTransformer.java | 8 +-
.../unary/scalar/EndsWith2ColumnTransformer.java | 8 +-
.../unary/scalar/EndsWithColumnTransformer.java | 8 +-
.../column/unary/scalar/ExpColumnTransformer.java | 6 +-
.../column/unary/scalar/ExtractTransformer.java | 6 +-
.../scalar/FloatToBytesColumnTransformer.java | 8 +-
.../unary/scalar/FloorColumnTransformer.java | 6 +-
.../unary/scalar/FormatColumnTransformer.java | 6 +-
.../scalar/GenericCodecColumnTransformer.java | 10 +-
.../scalar/HmacConstantKeyColumnTransformer.java | 8 +-
.../unary/scalar/IntToBytesColumnTransformer.java | 8 +-
.../unary/scalar/LTrim2ColumnTransformer.java | 8 +-
.../unary/scalar/LTrimColumnTransformer.java | 8 +-
.../unary/scalar/LengthColumnTransformer.java | 4 +-
.../column/unary/scalar/LnColumnTransformer.java | 6 +-
.../unary/scalar/Log10ColumnTransformer.java | 6 +-
.../unary/scalar/LongToBytesColumnTransformer.java | 8 +-
.../unary/scalar/LowerColumnTransformer.java | 6 +-
.../scalar/ObjectLengthColumnTransformer.java | 4 +-
.../unary/scalar/RTrim2ColumnTransformer.java | 8 +-
.../unary/scalar/RTrimColumnTransformer.java | 8 +-
.../unary/scalar/RadiansColumnTransformer.java | 6 +-
.../unary/scalar/RegexpLike2ColumnTransformer.java | 6 +-
.../unary/scalar/RegexpLikeColumnTransformer.java | 6 +-
.../unary/scalar/Replace2ColumnTransformer.java | 6 +-
.../unary/scalar/Replace3ColumnTransformer.java | 6 +-
.../scalar/ReplaceFunctionColumnTransformer.java | 6 +-
.../unary/scalar/RoundColumnTransformer.java | 6 +-
.../scalar/RoundFunctionColumnTransformer.java | 6 +-
.../column/unary/scalar/SignColumnTransformer.java | 6 +-
.../column/unary/scalar/SinColumnTransformer.java | 6 +-
.../column/unary/scalar/SinhColumnTransformer.java | 6 +-
.../column/unary/scalar/SqrtColumnTransformer.java | 6 +-
.../unary/scalar/StartsWith2ColumnTransformer.java | 8 +-
.../unary/scalar/StartsWithColumnTransformer.java | 6 +-
.../unary/scalar/Strcmp2ColumnTransformer.java | 6 +-
.../unary/scalar/StrcmpColumnTransformer.java | 6 +-
.../unary/scalar/Strpos2ColumnTransformer.java | 6 +-
.../unary/scalar/StrposColumnTransformer.java | 6 +-
.../unary/scalar/SubString2ColumnTransformer.java | 6 +-
.../unary/scalar/SubString3ColumnTransformer.java | 8 +-
.../unary/scalar/SubStringColumnTransformer.java | 6 +-
.../column/unary/scalar/TanColumnTransformer.java | 6 +-
.../column/unary/scalar/TanhColumnTransformer.java | 6 +-
.../unary/scalar/Trim2ColumnTransformer.java | 8 +-
.../column/unary/scalar/TrimColumnTransformer.java | 6 +-
.../scalar/TryCastFunctionColumnTransformer.java | 4 +-
.../unary/scalar/UpperColumnTransformer.java | 6 +-
.../scalar/factory/CodecStrategiesFactory.java | 8 +-
.../factory/NumericCodecStrategiesFactory.java | 2 +-
.../unary/scalar/inteface/CodecStrategy.java | 2 +-
.../dag/column/unary/scalar/util/HexUtils.java | 2 +-
.../unary/scalar/util/SpookyHashV2Utils.java | 2 +-
.../unary/scalar/util/TransformerDebugUtils.java | 6 +-
.../transformation/dag/util/BitwiseUtils.java | 2 +-
.../dag/util/CastFunctionUtils.java} | 97 +----
.../dag/util/CommonTransformUtils.java | 40 ++
.../TableDateBinTimeRangeIterator.java | 2 +-
.../operator/process/FilterAndProjectOperator.java | 20 +-
.../process/gapfill/GapFillWGroupWMoOperator.java | 2 +-
.../process/gapfill/GapFillWGroupWoMoOperator.java | 2 +-
.../process/gapfill/GapFillWoGroupWMoOperator.java | 2 +-
.../gapfill/GapFillWoGroupWoMoOperator.java | 2 +-
.../schema/source/DeviceAttributeUpdater.java | 4 +-
.../schema/source/DeviceBlackListConstructor.java | 4 +-
.../schema/source/DevicePredicateFilter.java | 4 +-
.../schema/source/DevicePredicateHandler.java | 4 +-
.../operator/schema/source/DeviceUpdater.java | 4 +-
.../relational/ColumnTransformerBuilder.java | 262 ++++++-------
.../multi/builtin/BuiltInScalarFunctionHelper.java | 2 +-
.../multi/builtin/helper/CastFunctionHelper.java | 331 +----------------
.../multi/builtin/helper/DiffFunctionHelper.java | 4 +-
.../builtin/helper/ReplaceFunctionHelper.java | 4 +-
.../multi/builtin/helper/RoundFunctionHelper.java | 4 +-
.../builtin/helper/SubStringFunctionHelper.java | 2 +-
.../plan/expression/unary/LikeExpression.java | 9 -
.../visitor/ColumnTransformerVisitor.java | 60 +--
.../db/queryengine/plan/parser/ASTVisitor.java | 2 +-
.../planner/DataNodeTableOperatorGenerator.java | 4 +-
.../plan/planner/OperatorTreeGenerator.java | 4 +-
.../relational/analyzer/ExpressionAnalyzer.java | 12 +-
.../relational/analyzer/StatementAnalyzer.java | 14 +-
.../predicate/ConvertPredicateToFilterVisitor.java | 2 +-
.../ConvertSchemaPredicateToFilterVisitor.java | 2 +-
.../relational/metadata/TableMetadataImpl.java | 406 ++++++++-------------
.../fetcher/TableHeaderSchemaValidator.java | 6 +-
.../planner/IrExpressionInterpreter.java | 6 +-
.../plan/relational/planner/LiteralEncoder.java | 6 +-
.../plan/relational/planner/QueryPlanner.java | 2 +-
.../relational/planner/TableLogicalPlanner.java | 4 +-
.../ir/GapFillStartAndEndTimeExtractVisitor.java | 2 +-
.../rule/TransformCorrelatedScalarSubquery.java | 2 +-
.../plan/relational/sql/ast/DeleteDevice.java | 4 +-
.../binary/CompareEqualToTransformer.java | 5 +-
.../binary/CompareGreaterEqualTransformer.java | 5 +-
.../binary/CompareGreaterThanTransformer.java | 5 +-
.../binary/CompareLessEqualTransformer.java | 5 +-
.../binary/CompareLessThanTransformer.java | 5 +-
.../binary/CompareNonEqualTransformer.java | 5 +-
.../transformer/ternary/BetweenTransformer.java | 6 +-
.../unary/scalar/CastFunctionTransformer.java | 20 +-
.../scalar/SubStringFunctionColumnTransformer.java | 4 +-
.../unary/scalar/SubStringFunctionTransformer.java | 2 +-
.../transformation/dag/util/TransformUtils.java | 8 -
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 4 +-
.../db/schemaengine/table/DataNodeTableCache.java | 4 +-
.../db/storageengine/dataregion/DataRegion.java | 6 +-
.../execution/operator/OperatorMemoryTest.java | 10 +-
.../plan/relational/analyzer/TSBSMetadata.java | 6 +-
.../plan/relational/analyzer/TestMetadata.java | 6 +-
...meticAndCompareBinaryColumnTransformerTest.java | 13 +-
.../binary/LogicBinaryColumnTransformerTest.java | 5 +-
.../binary/hmac/HmacMd5ColumnTransformerTest.java | 10 +-
.../binary/hmac/HmacSha1ColumnTransformerTest.java | 10 +-
.../hmac/HmacSha256ColumnTransformerTest.java | 10 +-
.../hmac/HmacSha512ColumnTransformerTest.java | 10 +-
.../column/ternary/LpadColumnTransformerTest.java | 3 +-
.../column/ternary/RpadColumnTransformerTest.java | 3 +-
.../column/unary/UnaryColumnTransformerTest.java | 9 +-
.../scalar/BlobLengthColumnTransformerTest.java | 3 +-
.../column/unary/scalar/DateBinFunctionTest.java | 2 +-
.../FromBigEndian32ColumnTransformerTest.java | 6 +-
.../FromBigEndian64ColumnTransformerTest.java | 6 +-
...omIEEE754_32BigEndianColumnTransformerTest.java | 6 +-
...omIEEE754_64BigEndianColumnTransformerTest.java | 6 +-
.../FromLittleEndian32ColumnTransformerTest.java | 6 +-
.../FromLittleEndian64ColumnTransformerTest.java | 6 +-
.../ToBigEndian32ColumnTransformerTest.java | 6 +-
.../ToBigEndian64ColumnTransformerTest.java | 6 +-
...ToIEEE754_32BigEndianColumnTransformerTest.java | 6 +-
...ToIEEE754_64BigEndianColumnTransformerTest.java | 6 +-
.../ToLittleEndian32ColumnTransformerTest.java | 6 +-
.../ToLittleEndian64ColumnTransformerTest.java | 6 +-
.../unary/scalar/ReverseColumnTransformerTest.java | 5 +-
.../FromBase32ColumnTransformerTest.java | 6 +-
.../FromBase64ColumnTransformerTest.java | 6 +-
.../FromBase64UrlColumnTransformerTest.java | 6 +-
.../ToBase32ColumnTransformerTest.java | 6 +-
.../ToBase64ColumnTransformerTest.java | 6 +-
.../ToBase64UrlColumnTransformerTest.java | 6 +-
.../scalar/hashing/Crc32ColumnTransformerTest.java | 4 +-
.../scalar/hashing/Md5ColumnTransformerTest.java | 6 +-
.../hashing/Murmur3ColumnTransformerTest.java | 6 +-
.../scalar/hashing/Sha1ColumnTransformerTest.java | 6 +-
.../hashing/Sha256ColumnTransformerTest.java | 6 +-
.../hashing/Sha512ColumnTransformerTest.java | 6 +-
.../SpookyHashV2_32ColumnTransformerTest.java | 6 +-
.../SpookyHashV2_64ColumnTransformerTest.java | 6 +-
.../hashing/XxHash64ColumnTransformerTest.java | 6 +-
.../hexEncoding/FromHexColumnTransformerTest.java | 6 +-
.../hexEncoding/ToHexColumnTransformerTest.java | 6 +-
.../transformation/dag/util/BitwiseUtilsTest.java | 17 +-
270 files changed, 1322 insertions(+), 1574 deletions(-)
diff --git a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticBinaryColumnTransformer.ftl b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticBinaryColumnTransformer.ftl
index 2e2c3f50f1c..23faf1ecaa6 100644
--- a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticBinaryColumnTransformer.ftl
+++ b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticBinaryColumnTransformer.ftl
@@ -25,13 +25,13 @@
<#--Main Part-->
<#if (first.instance == "DATE" || first.instance == "TIMESTAMP") && (second.instance == "INT" || second.instance == "LONG")><#if operator.name == "Addition" || operator.name == "Subtraction">
-<@pp.changeOutputFile name="/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/${className}.java" />
+<@pp.changeOutputFile name="/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/${className}.java" />
<#--Date + int || Date + long || Timestamp + int || Timestamp + long-->
<#--Date - int || Date - long || Timestamp - int || Timestamp - long-->
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
import org.apache.tsfile.block.column.Column;
@@ -171,11 +171,11 @@ public class ${className} extends BinaryColumnTransformer {
<#elseif (second.instance == "DATE" || second.instance =="TIMESTAMP") && (first.instance == "INT" || first.instance == "LONG")>
<#if operator.name == "Addition">
<#--int + Date || long + Date || int + Timestamp || long + Timestamp-->
-<@pp.changeOutputFile name="/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/${className}.java" />
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+<@pp.changeOutputFile name="/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/${className}.java" />
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
import org.apache.tsfile.block.column.Column;
@@ -276,7 +276,7 @@ public class ${className} extends BinaryColumnTransformer {
}
</#if>
<#elseif first.instance != "DATE" && first.instance != "TIMESTAMP" && second.instance != "DATE" && second.instance != "TIMESTAMP">
-<@pp.changeOutputFile name="/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/${className}.java" />
+<@pp.changeOutputFile name="/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/${className}.java" />
<#--int、long、float、double with + - * / %-->
<#--assign resultType-->
<#if first.dataType == "double" || second.dataType == "double">
@@ -289,11 +289,11 @@ public class ${className} extends BinaryColumnTransformer {
<#assign resultType = "int" />
</#if>
<#--Parting line-->
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
index 038cd0ecd54..e80aa6e79c9 100644
--- a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
+++ b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
@@ -18,8 +18,8 @@
*/
<@pp.dropOutputFile />
-<@pp.changeOutputFile name="/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticColumnTransformerApi.java" />
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+<@pp.changeOutputFile name="/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticColumnTransformerApi.java" />
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
import org.apache.tsfile.read.common.type.Type;
@@ -28,12 +28,12 @@ import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.Divi
import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.ModulusResolver;
import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.MultiplicationResolver;
import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.SubtractionResolver;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.DoubleNegationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.FloatNegationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.IntNegationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.LongNegationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.TimestampNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.DoubleNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.FloatNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.IntNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LongNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.TimestampNegationColumnTransformer;
import java.time.ZoneId;
import java.util.Arrays;
diff --git a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticUnaryColumnTransformer.ftl b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticUnaryColumnTransformer.ftl
index 0afb3f57085..3080829c754 100644
--- a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticUnaryColumnTransformer.ftl
+++ b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticUnaryColumnTransformer.ftl
@@ -22,11 +22,11 @@
<#assign newType = type.type?replace("Type","")>
<#assign className = "${newType}NegationColumnTransformer">
<#if newType != "Date">
- <@pp.changeOutputFile name="/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/${className}.java" />
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+ <@pp.changeOutputFile name="/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/${className}.java" />
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
index 41ac3da5b93..ea6eadbf787 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.calc_commons.plan.planner;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVisitor;
@@ -164,8 +166,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToInt64Litera
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToStringLiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToTimestampLiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.iotdb.udf.api.relational.TableFunction;
import org.apache.iotdb.udf.api.relational.table.TableFunctionProcessorProvider;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/metadata/CommonMetadataUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/metadata/CommonMetadataUtils.java
new file mode 100644
index 00000000000..ff8d4eeaced
--- /dev/null
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/metadata/CommonMetadataUtils.java
@@ -0,0 +1,185 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.iotdb.db.calc_commons.plan.relational.metadata;
+
+import org.apache.iotdb.commons.exception.IoTDBException;
+import org.apache.iotdb.commons.exception.table.TableNotExistsException;
+import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.rpc.TSStatusCode;
+
+import org.apache.tsfile.read.common.type.ObjectType;
+import org.apache.tsfile.read.common.type.StringType;
+import org.apache.tsfile.read.common.type.Type;
+
+import java.util.List;
+
+import static org.apache.tsfile.read.common.type.BinaryType.TEXT;
+import static org.apache.tsfile.read.common.type.BlobType.BLOB;
+import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
+import static org.apache.tsfile.read.common.type.DateType.DATE;
+import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
+import static org.apache.tsfile.read.common.type.FloatType.FLOAT;
+import static org.apache.tsfile.read.common.type.IntType.INT32;
+import static org.apache.tsfile.read.common.type.LongType.INT64;
+import static org.apache.tsfile.read.common.type.TimestampType.TIMESTAMP;
+import static org.apache.tsfile.read.common.type.UnknownType.UNKNOWN;
+
+public class CommonMetadataUtils {
+ public static boolean isTwoNumericType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 2
+ && isNumericType(argumentTypes.get(0))
+ && isNumericType(argumentTypes.get(1));
+ }
+
+ public static boolean isOneNumericType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 1 && isNumericType(argumentTypes.get(0));
+ }
+
+ public static boolean isTwoSupportedMathNumericType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 2
+ && isSupportedMathNumericType(argumentTypes.get(0))
+ && isSupportedMathNumericType(argumentTypes.get(1));
+ }
+
+ public static boolean isOneSupportedMathNumericType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0));
+ }
+
+ public static boolean isOneBooleanType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 1 && BOOLEAN.equals(argumentTypes.get(0));
+ }
+
+ public static boolean isOneCharType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 1 && isCharType(argumentTypes.get(0));
+ }
+
+ public static boolean isTwoCharType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 2
+ && isCharType(argumentTypes.get(0))
+ && isCharType(argumentTypes.get(1));
+ }
+
+ public static boolean isThreeCharType(List<? extends Type> argumentTypes) {
+ return argumentTypes.size() == 3
+ && isCharType(argumentTypes.get(0))
+ && isCharType(argumentTypes.get(1))
+ && isCharType(argumentTypes.get(2));
+ }
+
+ public static boolean isCharType(Type type) {
+ return TEXT.equals(type) || StringType.STRING.equals(type);
+ }
+
+ public static boolean isObjectType(Type type) {
+ return ObjectType.OBJECT.equals(type);
+ }
+
+ public static boolean isBlobType(Type type) {
+ return BLOB.equals(type);
+ }
+
+ public static boolean isBool(Type type) {
+ return BOOLEAN.equals(type);
+ }
+
+ public static boolean isDecimalType(Type type) {
+ return DOUBLE.equals(type) || FLOAT.equals(type);
+ }
+
+ public static boolean isSupportedMathNumericType(Type type) {
+ return DOUBLE.equals(type) || FLOAT.equals(type) || INT32.equals(type) || INT64.equals(type);
+ }
+
+ public static boolean isNumericType(Type type) {
+ return DOUBLE.equals(type)
+ || FLOAT.equals(type)
+ || INT32.equals(type)
+ || INT64.equals(type)
+ || TIMESTAMP.equals(type);
+ }
+
+ public static boolean isTimestampType(Type type) {
+ return TIMESTAMP.equals(type);
+ }
+
+ public static boolean isUnknownType(Type type) {
+ return UNKNOWN.equals(type);
+ }
+
+ public static boolean isIntegerNumber(Type type) {
+ return INT32.equals(type) || INT64.equals(type);
+ }
+
+ public static boolean isTwoTypeComparable(List<? extends Type> argumentTypes) {
+ if (argumentTypes.size() != 2) {
+ return false;
+ }
+ Type left = argumentTypes.get(0);
+ Type right = argumentTypes.get(1);
+ if (left.equals(right)) {
+ return true;
+ }
+
+ // Boolean type and Binary Type can not be compared with other types
+ return (isNumericType(left) && isNumericType(right))
+ || (isCharType(left) && isCharType(right))
+ || (isUnknownType(left) && (isNumericType(right) || isCharType(right)))
+ || ((isNumericType(left) || isCharType(left)) && isUnknownType(right));
+ }
+
+ public static boolean areAllTypesSameAndComparable(List<? extends Type> argumentTypes) {
+ if (argumentTypes == null || argumentTypes.isEmpty()) {
+ return true;
+ }
+ Type firstType = argumentTypes.get(0);
+ if (!firstType.isComparable()) {
+ return false;
+ }
+ return argumentTypes.stream().allMatch(type -> type.equals(firstType));
+ }
+
+ public static boolean isArithmeticType(Type type) {
+ return INT32.equals(type)
+ || INT64.equals(type)
+ || FLOAT.equals(type)
+ || DOUBLE.equals(type)
+ || DATE.equals(type)
+ || TIMESTAMP.equals(type);
+ }
+
+ public static boolean isTwoTypeCalculable(List<? extends Type> argumentTypes) {
+ if (argumentTypes.size() != 2) {
+ return false;
+ }
+ Type left = argumentTypes.get(0);
+ Type right = argumentTypes.get(1);
+ if ((isUnknownType(left) && isArithmeticType(right))
+ || (isUnknownType(right) && isArithmeticType(left))) {
+ return true;
+ }
+ return isArithmeticType(left) && isArithmeticType(right);
+ }
+
+ public static void throwTableNotExistsException(final String database, final String tableName) {
+ throw new SemanticException(new TableNotExistsException(database, tableName));
+ }
+
+ public static void throwColumnNotExistsException(final Object columnName) {
+ throw new SemanticException(
+ new IoTDBException(
+ String.format("Column '%s' cannot be resolved.", columnName),
+ TSStatusCode.COLUMN_NOT_EXISTS.getStatusCode()));
+ }
+}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
index 7ac2f348d27..42c0db3a2d6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnCache.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnCache.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnCache.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnCache.java
index 6adfbe072e1..be0eaa390f3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnCache.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnCache.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnTransformer.java
index 50ba07fe496..06b2fc0d09b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ColumnTransformer.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.NullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.NullColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeEnum;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isNumericType;
public abstract class ColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/FailFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/FailFunctionColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/FailFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/FailFunctionColumnTransformer.java
index 41632d7be1a..f8b18632165 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/FailFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/FailFunctionColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
import org.apache.iotdb.db.exception.sql.SemanticException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TableCaseWhenThenColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TableCaseWhenThenColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TableCaseWhenThenColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TableCaseWhenThenColumnTransformer.java
index 637c4141746..6b8500f1487 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TableCaseWhenThenColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TableCaseWhenThenColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java
index c3704ced734..ebe1084c5bf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/TreeCaseWhenThenColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java
index f8036106e5c..f0db7026926 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticAdditionColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java
index 08e21711473..da9f0d75a9e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticBinaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java
index c4f92be150a..c00c45bd03b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticDivisionColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java
index 854379cd876..f425e137d69 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticModuloColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java
index f2233509302..f7449ea66a6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticMultiplicationColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java
index 18f935ca0fd..4dfbfef2225 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/ArithmeticSubtractionColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/BinaryColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/BinaryColumnTransformer.java
index 75dcb6dc17e..a26b8564f22 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/BinaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareBinaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareBinaryColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareBinaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareBinaryColumnTransformer.java
index fb09941245b..054b3c68f01 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareBinaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareBinaryColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -28,9 +28,9 @@ import org.apache.tsfile.read.common.block.column.RunLengthEncodedColumn;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeEnum;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBool;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBlobType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBool;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
public abstract class CompareBinaryColumnTransformer extends BinaryColumnTransformer {
@@ -88,7 +88,7 @@ public abstract class CompareBinaryColumnTransformer extends BinaryColumnTransfo
if (isCharType(leftTransformer.getType()) || isBlobType(leftTransformer.getType())) {
flag =
transform(
- TransformUtils.compare(
+ CommonTransformUtils.compare(
leftTransformer.getType().getBinary(leftColumn, index),
rightTransformer.getType().getBinary(rightColumn, index)));
} else if (isBool(leftTransformer.getType())) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareEqualToColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareEqualToColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareEqualToColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareEqualToColumnTransformer.java
index f777180e9f0..37d8e9625aa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareEqualToColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareEqualToColumnTransformer.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
import java.util.Arrays;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoTypeComparable;
public class CompareEqualToColumnTransformer extends CompareBinaryColumnTransformer {
public CompareEqualToColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java
index 1aba400614c..7c5ab298b9d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterEqualColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java
index 4f46f76bf3d..e228ed7fdca 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareGreaterThanColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java
index 0eede197be3..23d9e477640 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessEqualColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessThanColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessThanColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessThanColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessThanColumnTransformer.java
index 09bd953be18..b5e72fe4515 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareLessThanColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareLessThanColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
index 9f0cd152ebe..8f4d1052dae 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/CompareNonEqualColumnTransformer.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
import java.util.Arrays;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoTypeComparable;
public class CompareNonEqualColumnTransformer extends CompareBinaryColumnTransformer {
public CompareNonEqualColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/HmacColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/HmacColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/HmacColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/HmacColumnTransformer.java
index a3872608a32..0ec8cba48a4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/HmacColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/HmacColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
public class HmacColumnTransformer extends BinaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/Like2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/Like2ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/Like2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/Like2ColumnTransformer.java
index 6f8bd9764db..24714e5350f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/Like2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/Like2ColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -29,7 +29,7 @@ import org.apache.tsfile.read.common.type.Type;
import java.util.Optional;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
public class Like2ColumnTransformer extends BinaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicAndColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicAndColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicAndColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicAndColumnTransformer.java
index 7a68e5fa030..63e9966daeb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicAndColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicAndColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
index 595fa291c32..b7d01830b82 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicBinaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeEnum;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicOrColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicOrColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicOrColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicOrColumnTransformer.java
index 064ad6974da..bf739b16ac4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicOrColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/LogicOrColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/factory/HmacStrategiesFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/factory/HmacStrategiesFactory.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/factory/HmacStrategiesFactory.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/factory/HmacStrategiesFactory.java
index 9228c728eb2..7f6ec9a162b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/factory/HmacStrategiesFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/factory/HmacStrategiesFactory.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
import com.google.common.hash.HashFunction;
import com.google.common.hash.Hashing;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/strategies/HmacStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/strategies/HmacStrategy.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/strategies/HmacStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/strategies/HmacStrategy.java
index 01f83cce52b..3a2d2d46972 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/strategies/HmacStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/binary/strategies/HmacStrategy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies;
@FunctionalInterface
public interface HmacStrategy {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/ConstantColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/ConstantColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/ConstantColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/ConstantColumnTransformer.java
index 0750e5dc9d1..28a5a3d1ada 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/ConstantColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/ConstantColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.leaf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/IdentityColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/IdentityColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/IdentityColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/IdentityColumnTransformer.java
index f4cc0667777..43fe7d94de4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/IdentityColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/IdentityColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.leaf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/LeafColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/LeafColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/LeafColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/LeafColumnTransformer.java
index 4e6d423b4b5..07f0c6febd8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/LeafColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/LeafColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.leaf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.block.TsBlock;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/NullColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/NullColumnTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/NullColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/NullColumnTransformer.java
index d6cc68ab3ca..44b14950c44 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/NullColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/NullColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.leaf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf;
import org.apache.tsfile.read.common.block.column.NullColumn;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/TimeColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/TimeColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/TimeColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/TimeColumnTransformer.java
index d8fe028bf09..1a9604a28f1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/leaf/TimeColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/leaf/TimeColumnTransformer.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.leaf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java
index f92c5fa2811..8c4a3d532c9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/AbstractGreatestLeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java
index e81487bbac3..135657223d5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryGreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryLeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryLeastColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryLeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryLeastColumnTransformer.java
index 6cde29f4c84..91620466446 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BinaryLeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BinaryLeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
index 6c283225c74..fce268a08d4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanGreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
index 1cfbde15758..58d7efc40c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/BooleanLeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/CoalesceColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/CoalesceColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/CoalesceColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/CoalesceColumnTransformer.java
index 82efc732e45..7980d20047f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/CoalesceColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/CoalesceColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java
index e09f0b6df4b..b29c417f272 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleGreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleLeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleLeastColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleLeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleLeastColumnTransformer.java
index 2dc19ec75e7..e4aa504521e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/DoubleLeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/DoubleLeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatGreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatGreatestColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatGreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatGreatestColumnTransformer.java
index bc5bfc982f8..0500aa420f9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatGreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatGreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatLeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatLeastColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatLeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatLeastColumnTransformer.java
index 223f6367339..01911c9e35d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/FloatLeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/FloatLeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java
index 9491a201ed1..03c78f0f5b3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBinaryMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java
index f99bc791b39..2b05bf81f25 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InBooleanMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java
index 482214498b9..d81ee43ed2b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InDoubleMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InFloatMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InFloatMultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InFloatMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InFloatMultiColumnTransformer.java
index 310669c73cf..b21ee2a30f8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InFloatMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InFloatMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt32MultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt32MultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt32MultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt32MultiColumnTransformer.java
index ad291426a1c..d756ecf95eb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt32MultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt32MultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt64MultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt64MultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt64MultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt64MultiColumnTransformer.java
index aa3ec1397fb..2a00fa74cbc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InInt64MultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InInt64MultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InMultiColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InMultiColumnTransformer.java
index 319b4225d85..1b2dd0e1c88 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/InMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32GreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32GreatestColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32GreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32GreatestColumnTransformer.java
index 551970f470a..4a094aa568f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32GreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32GreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32LeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32LeastColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32LeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32LeastColumnTransformer.java
index 26b64349fb4..d6cb48ba952 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int32LeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int32LeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64GreatestColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64GreatestColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64GreatestColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64GreatestColumnTransformer.java
index 7818d217d0a..c89a3a38aa8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64GreatestColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64GreatestColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64LeastColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64LeastColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64LeastColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64LeastColumnTransformer.java
index 0efaccb3786..45e4a358f68 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/Int64LeastColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/Int64LeastColumnTransformer.java
@@ -12,9 +12,9 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
index 321f03b186b..44e4d99cc54 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalAndMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
index c90133e7cf5..1ebe5f3485f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeEnum;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
index 9164ec578ee..75ec256edbc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/LogicalOrMultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MappableUDFColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MappableUDFColumnTransformer.java
index 440585eed78..d4254f6614e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MappableUDFColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MultiColumnTransformer.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MultiColumnTransformer.java
index 8045edc4a53..8f7ba7c1fdb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/multi/MultiColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.multi;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.multi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/BetweenColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/BetweenColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/BetweenColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/BetweenColumnTransformer.java
index c0344b001fa..fa6fb9f175c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/BetweenColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/BetweenColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBool;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBlobType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBool;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
public class BetweenColumnTransformer extends CompareTernaryColumnTransformer {
private final boolean isNotBetween;
@@ -85,11 +85,11 @@ public class BetweenColumnTransformer extends CompareTernaryColumnTransformer {
if (isCharType(firstColumnTransformer.getType())
|| isBlobType(firstColumnTransformer.getType())) {
flag =
- ((TransformUtils.compare(
+ ((CommonTransformUtils.compare(
firstColumnTransformer.getType().getBinary(firstColumn, i),
secondColumnTransformer.getType().getBinary(secondColumn, i))
>= 0)
- && (TransformUtils.compare(
+ && (CommonTransformUtils.compare(
firstColumnTransformer.getType().getBinary(firstColumn, i),
thirdColumnTransformer.getType().getBinary(thirdColumn, i))
<= 0))
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java
index 26dabe9a7c5..c520ab1fd48 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/CompareTernaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/Like3ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/Like3ColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/Like3ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/Like3ColumnTransformer.java
index 34000e227c6..1c2c4af1841 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/Like3ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/Like3ColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -27,8 +27,8 @@ import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.common.regexp.LikePattern;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils.getEscapeCharacter;
public class Like3ColumnTransformer extends TernaryColumnTransformer {
public Like3ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/LpadColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/LpadColumnTransformer.java
index db4d17d75f1..65dc1979ac9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/LpadColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.utils.BytePaddingUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.utils.BytePaddingUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/RpadColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/RpadColumnTransformer.java
index ea05be1319a..dd730240c66 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/RpadColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.utils.BytePaddingUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.utils.BytePaddingUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/TernaryColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/TernaryColumnTransformer.java
index 3a9dccd8e8f..50e973df299 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/TernaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/utils/BytePaddingUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/utils/BytePaddingUtils.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/utils/BytePaddingUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/utils/BytePaddingUtils.java
index 1e5f3ed20a8..855fe7b0de1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/utils/BytePaddingUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/ternary/utils/BytePaddingUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.utils;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.utils;
import org.apache.iotdb.db.exception.sql.SemanticException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java
index 47fd40ed73f..66d3da3ec53 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/udf/UserDefineScalarFunctionTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.udf;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.udf;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MultiColumnTransformer;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.RecordIterator;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MultiColumnTransformer;
import org.apache.iotdb.udf.api.relational.ScalarFunction;
import org.apache.iotdb.udf.api.relational.access.Record;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java
index 81819dddf81..8f33f4d5991 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/ArithmeticNegationColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/InColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/InColumnTransformer.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/InColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/InColumnTransformer.java
index 17fc57a1b52..1677dd03745 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/InColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/InColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/IsNullColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/IsNullColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/IsNullColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/IsNullColumnTransformer.java
index fa781f27057..843997083f5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/IsNullColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/IsNullColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LikeColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LikeColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LikeColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LikeColumnTransformer.java
index 5930cc999e9..6b244c82bb6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LikeColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LikeColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -27,7 +27,7 @@ import org.apache.tsfile.common.regexp.LikePattern;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
public class LikeColumnTransformer extends UnaryColumnTransformer {
private final LikePattern pattern;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LogicNotColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LogicNotColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LogicNotColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LogicNotColumnTransformer.java
index 8c0f9831211..de4585e8d4f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/LogicNotColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/LogicNotColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/RegularColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/RegularColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/RegularColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/RegularColumnTransformer.java
index b22c1c64856..86cfe7ee686 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/RegularColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/RegularColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -28,7 +28,7 @@ import org.apache.tsfile.read.common.type.Type;
import java.util.regex.Pattern;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
public class RegularColumnTransformer extends UnaryColumnTransformer {
private final Pattern pattern;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/UnaryColumnTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/UnaryColumnTransformer.java
index 7b3294f3c1d..4bfb12dacdc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/UnaryColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbsColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbsColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbsColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbsColumnTransformer.java
index 294c02b3d2d..d4a30665fa9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbsColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbsColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java
index dfc7a233351..7a5c55383ad 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwise2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java
index c4d1cd8f317..c8bdb95c9ee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractBitwiseColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
index 9ed1bb33075..5b629590724 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CastFunctionUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
import org.apache.tsfile.block.column.Column;
@@ -38,7 +38,7 @@ import org.apache.tsfile.utils.DateUtils;
import java.time.ZoneId;
import java.time.format.DateTimeParseException;
-import static org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper.ERROR_MSG;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CastFunctionUtils.ERROR_MSG;
import static org.apache.iotdb.rpc.TSStatusCode.DATE_OUT_OF_RANGE;
public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnTransformer {
@@ -150,7 +150,7 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
try {
switch (returnType.getTypeEnum()) {
case INT32:
- returnType.writeInt(columnBuilder, (CastFunctionHelper.castLongToInt(value)));
+ returnType.writeInt(columnBuilder, (CastFunctionUtils.castLongToInt(value)));
break;
case DATE:
returnType.writeInt(
@@ -192,7 +192,7 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
switch (returnType.getTypeEnum()) {
case INT32:
case DATE:
- returnType.writeInt(columnBuilder, (CastFunctionHelper.castLongToInt(value)));
+ returnType.writeInt(columnBuilder, (CastFunctionUtils.castLongToInt(value)));
break;
case INT64:
case TIMESTAMP:
@@ -223,11 +223,11 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
switch (returnType.getTypeEnum()) {
case INT32:
case DATE:
- returnType.writeInt(columnBuilder, CastFunctionHelper.castFloatToInt(value));
+ returnType.writeInt(columnBuilder, CastFunctionUtils.castFloatToInt(value));
break;
case INT64:
case TIMESTAMP:
- returnType.writeLong(columnBuilder, CastFunctionHelper.castFloatToLong(value));
+ returnType.writeLong(columnBuilder, CastFunctionUtils.castFloatToLong(value));
break;
case FLOAT:
returnType.writeFloat(columnBuilder, value);
@@ -254,14 +254,14 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
switch (returnType.getTypeEnum()) {
case INT32:
case DATE:
- returnType.writeInt(columnBuilder, CastFunctionHelper.castDoubleToInt(value));
+ returnType.writeInt(columnBuilder, CastFunctionUtils.castDoubleToInt(value));
break;
case INT64:
case TIMESTAMP:
- returnType.writeLong(columnBuilder, CastFunctionHelper.castDoubleToLong(value));
+ returnType.writeLong(columnBuilder, CastFunctionUtils.castDoubleToLong(value));
break;
case FLOAT:
- returnType.writeFloat(columnBuilder, CastFunctionHelper.castDoubleToFloat(value));
+ returnType.writeFloat(columnBuilder, CastFunctionUtils.castDoubleToFloat(value));
break;
case DOUBLE:
returnType.writeDouble(columnBuilder, value);
@@ -330,13 +330,13 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
columnBuilder, DateTimeUtils.convertDatetimeStrToLong(stringValue, zoneId));
break;
case FLOAT:
- returnType.writeFloat(columnBuilder, CastFunctionHelper.castTextToFloat(stringValue));
+ returnType.writeFloat(columnBuilder, CastFunctionUtils.castTextToFloat(stringValue));
break;
case DOUBLE:
- returnType.writeDouble(columnBuilder, CastFunctionHelper.castTextToDouble(stringValue));
+ returnType.writeDouble(columnBuilder, CastFunctionUtils.castTextToDouble(stringValue));
break;
case BOOLEAN:
- returnType.writeBoolean(columnBuilder, CastFunctionHelper.castTextToBoolean(stringValue));
+ returnType.writeBoolean(columnBuilder, CastFunctionUtils.castTextToBoolean(stringValue));
break;
case TEXT:
case STRING:
@@ -372,13 +372,13 @@ public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnT
columnBuilder, DateTimeUtils.convertDatetimeStrToLong(stringValue, zoneId));
break;
case FLOAT:
- returnType.writeFloat(columnBuilder, CastFunctionHelper.castTextToFloat(stringValue));
+ returnType.writeFloat(columnBuilder, CastFunctionUtils.castTextToFloat(stringValue));
break;
case DOUBLE:
- returnType.writeDouble(columnBuilder, CastFunctionHelper.castTextToDouble(stringValue));
+ returnType.writeDouble(columnBuilder, CastFunctionUtils.castTextToDouble(stringValue));
break;
case BOOLEAN:
- returnType.writeBoolean(columnBuilder, CastFunctionHelper.castTextToBoolean(stringValue));
+ returnType.writeBoolean(columnBuilder, CastFunctionUtils.castTextToBoolean(stringValue));
break;
case TEXT:
case STRING:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java
index 08eb4769166..2a73aaf1061 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AbstractLengthColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AcosColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AcosColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AcosColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AcosColumnTransformer.java
index 1808e147fbd..e813525a749 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AcosColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AcosColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AsinColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AsinColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AsinColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AsinColumnTransformer.java
index 8a73986f897..aa97f3ed141 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AsinColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AsinColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AtanColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AtanColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AtanColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AtanColumnTransformer.java
index 8f86f838474..251a0753859 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/AtanColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/AtanColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java
index 04ffea29c63..df774bee52a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCount2ColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java
index 87a928ef16b..1bd5abaf855 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitCountColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java
index 3be14f412b3..c0b806a4909 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAnd2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java
index 57676824bb9..c7db0f0b6a1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseAndColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java
index 8c42d788878..a84be5643af 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShift2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java
index 40651076dfc..d06272e8678 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseLeftShiftColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java
index 8649cdbdb6b..dfb1e4e8a4b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseNotColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java
index d54ff7b1607..ce56a1f49ae 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOr2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java
index e6be0927f46..9008d5da18d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseOrColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java
index 8d717c6c883..f24ea131c00 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShift2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java
index 402d38d40c8..796c9ebd507 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmetic2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java
index 5042d83d4c0..5f9c7e240dd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftArithmeticColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java
index 5f77af2e87c..a78b7d73aff 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseRightShiftColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java
index 8ab1c754f28..a2872acf457 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXor2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java
index 0d648b3e26e..8274633fcd1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BitwiseXorColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java
index bce18fb0597..dde6d8676c9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BlobLengthColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java
index e62fdfcbe23..873cdacc328 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToDoubleColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
public class BytesToDoubleColumnTransformer extends UnaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java
index 15af6deed2d..5c52f3578af 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToFloatColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
public class BytesToFloatColumnTransformer extends UnaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java
index 0e42a3a713a..9c24539c3b6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToIntColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
public class BytesToIntColumnTransformer extends UnaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java
index dcf0e4a0865..d90087c9c18 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/BytesToLongColumnTransformer.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
/** A transformer that converts byte array representations to long values */
public class BytesToLongColumnTransformer extends UnaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CRC32Transformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CRC32Transformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CRC32Transformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CRC32Transformer.java
index d7e9dccb62a..9b264bd0e54 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CRC32Transformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CRC32Transformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java
index 624eabadc62..d0aef922044 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CastFunctionColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CeilColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CeilColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CeilColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CeilColumnTransformer.java
index 31cb8df7448..d62ad279ea5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CeilColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CeilColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java
index 18c59344be8..f8408d38cd7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Concat2ColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ConcatColumnTransformer.concat;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ConcatColumnTransformer.concat;
public class Concat2ColumnTransformer extends BinaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java
index 47dd6866a33..36c6e482f39 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java
index ec053fe2ad9..81f8a791e0d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ConcatMultiColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MultiColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CosColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CosColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CosColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CosColumnTransformer.java
index 4d731965b68..6dec7b5ae41 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CosColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CosColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CoshColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CoshColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CoshColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CoshColumnTransformer.java
index 2079f1659c5..25d4230a961 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/CoshColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/CoshColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
index 93ef9dff3a2..be6b8f89732 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
import org.apache.iotdb.commons.conf.CommonDescriptor;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java
index b1921aa1be4..5e19e93c4b9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DegreesColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
index 0d316a6c400..8eff8f2daa1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java
index ce6f7ebf8bf..c0db3b53b0e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DiffFunctionColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java
index 7b9c06147a5..a9e91bf5237 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/DoubleToBytesColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java
index c81d83fbda7..00720ba4ebb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWith2ColumnTransformer.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
public class EndsWith2ColumnTransformer extends BinaryColumnTransformer {
public EndsWith2ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java
index afa1e4dff86..3394bac2b20 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/EndsWithColumnTransformer.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
public class EndsWithColumnTransformer extends UnaryColumnTransformer {
private final byte[] suffix;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExpColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExpColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExpColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExpColumnTransformer.java
index b804869867a..f48653cac70 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExpColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExpColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExtractTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExtractTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExtractTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExtractTransformer.java
index 201b4bc099b..c43f872cb21 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ExtractTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ExtractTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java
index 7d4d4795c72..dd3118034b5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloatToBytesColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloorColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloorColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloorColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloorColumnTransformer.java
index 9912df4dacd..d2d4d043c3b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FloorColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FloorColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FormatColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
index b47b46a636d..c20f32b3152 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/FormatColumnTransformer.java
@@ -12,11 +12,11 @@
* limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MultiColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MultiColumnTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java
index f387b8850e4..6d00611411c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/GenericCodecColumnTransformer.java
@@ -17,19 +17,19 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.inteface.CodecStrategy;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.inteface.CodecStrategy;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.TransformerDebugUtils.generateOriginalValue;
/**
* A generic, reusable column converter for handling all codec-based encoding/decoding functions. It
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java
index daa5868b938..a62ae950b0f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/HmacConstantKeyColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java
index 5c25a949c8f..d72dddb8176 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/IntToBytesColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java
index 4643c3a6ec4..3a92ac4044c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrim2ColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LTrimColumnTransformer.ltrim;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LTrimColumnTransformer.ltrim;
public class LTrim2ColumnTransformer extends BinaryColumnTransformer {
public LTrim2ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java
index aa67b782c07..ba653ba5fb4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LTrimColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TrimColumnTransformer.isContain;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TrimColumnTransformer.isContain;
public class LTrimColumnTransformer extends UnaryColumnTransformer {
private final byte[] character;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LengthColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LengthColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LengthColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LengthColumnTransformer.java
index c94530c83d4..46fa4a8f060 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LengthColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LengthColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LnColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LnColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LnColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LnColumnTransformer.java
index 3bccb13eb6a..8fd17ecd4ed 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LnColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LnColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java
index fa6c021ea55..ecac92c6566 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Log10ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java
index 72c3a5b2404..4f01fb256e3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LongToBytesColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LowerColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LowerColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LowerColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LowerColumnTransformer.java
index d4c8fbad011..d9eed5e3983 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/LowerColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/LowerColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java
index 5d39c6f6af3..1776979a7c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ObjectLengthColumnTransformer.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.utils.ObjectTypeUtils;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java
index 2d04dce84e4..21248280519 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrim2ColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RTrimColumnTransformer.rtrim;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RTrimColumnTransformer.rtrim;
public class RTrim2ColumnTransformer extends BinaryColumnTransformer {
public RTrim2ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java
index 18c4311d524..27dbbe9cddc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RTrimColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TrimColumnTransformer.isContain;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TrimColumnTransformer.isContain;
public class RTrimColumnTransformer extends UnaryColumnTransformer {
private final byte[] character;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java
index b8d7cbab88f..36f6f466592 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RadiansColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java
index 67c2c2624c5..df2574b1980 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLike2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java
index e85e1b97242..3a9cfc811cd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RegexpLikeColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
index 5a44243206d..1173b0974ac 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
index c5133c5e390..a7cb23c779a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Replace3ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.TernaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.TernaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java
index d2efd3483db..750e12339c8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/ReplaceFunctionColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
index 4e66aeb7b96..7ff7c00b8e8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java
index 7817fcd1c7d..88e8f85088d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/RoundFunctionColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SignColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SignColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SignColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SignColumnTransformer.java
index b2796eaad1f..cec8dad1afb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SignColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SignColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinColumnTransformer.java
index f1f2a4da277..b12187e3c36 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinhColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinhColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinhColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinhColumnTransformer.java
index c6faf22c838..a5484df4807 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SinhColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SinhColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java
index bcd6b97eb34..847196f07a7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SqrtColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java
index b181603ca44..2272c58b8d0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWith2ColumnTransformer.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StartsWithColumnTransformer.equalCompare;
public class StartsWith2ColumnTransformer extends BinaryColumnTransformer {
public StartsWith2ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java
index cf44d3ec0fc..3f39a0aeb89 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StartsWithColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java
index c432738952d..382e1d772c0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strcmp2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java
index c9541fe1701..222e8c75fba 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrcmpColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java
index 692f088a599..c933babd73a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Strpos2ColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrposColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrposColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrposColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrposColumnTransformer.java
index cd4459bd333..d864ad82273 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/StrposColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/StrposColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
index b085976c2ed..76ec24f8ba7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString2ColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
index 7a1dba3e08a..89ee4c235da 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubString3ColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.TernaryColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.TernaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -29,7 +29,7 @@ import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.BytesUtils;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SubStringColumnTransformer.EMPTY_STRING;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SubStringColumnTransformer.EMPTY_STRING;
public class SubString3ColumnTransformer extends TernaryColumnTransformer {
public SubString3ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java
index 59cc8cb4369..16476fc7513 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/SubStringColumnTransformer.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanColumnTransformer.java
index a4c07da38d3..9000cd9b31b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanhColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanhColumnTransformer.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanhColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanhColumnTransformer.java
index b0d22716985..4db1709974b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TanhColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TanhColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java
index c6788c95b63..c2296c903e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/Trim2ColumnTransformer.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.utils.Binary;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TrimColumnTransformer.trim;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TrimColumnTransformer.trim;
public class Trim2ColumnTransformer extends BinaryColumnTransformer {
public Trim2ColumnTransformer(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TrimColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TrimColumnTransformer.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TrimColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TrimColumnTransformer.java
index 8e75c5e7007..6efddf3f647 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TrimColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TrimColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java
index 419d1bbabf3..bc6d22a8896 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/TryCastFunctionColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/UpperColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/UpperColumnTransformer.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/UpperColumnTransformer.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/UpperColumnTransformer.java
index dee529093dd..a803c03af91 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/UpperColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/UpperColumnTransformer.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java
index 546a8286d04..ba1a7ab0d05 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/CodecStrategiesFactory.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.inteface.CodecStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.HexUtils;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util.SpookyHashV2Utils;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.inteface.CodecStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.HexUtils;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util.SpookyHashV2Utils;
import com.google.common.hash.Hashing;
import com.google.common.io.BaseEncoding;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java
index 60d1e77f78b..5b9fb4c19f9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/factory/NumericCodecStrategiesFactory.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory;
import org.apache.iotdb.db.exception.sql.SemanticException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java
index 7c2fd4833a1..c59ea014f61 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/inteface/CodecStrategy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.inteface;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.inteface;
import org.apache.iotdb.db.exception.sql.SemanticException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/HexUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/HexUtils.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/HexUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/HexUtils.java
index 15ed2b9d342..c8350102a0e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/HexUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/HexUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java
index e6ef386827e..1313a38f435 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/SpookyHashV2Utils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java
index 2ad8e6a29a8..aa3e642720b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/column/unary/scalar/util/TransformerDebugUtils.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.util;
+package org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.util;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBlobType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
/**
* A utility class for generating user-friendly debug information during the execution of
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/BitwiseUtils.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/BitwiseUtils.java
index 97038b20e0e..75c289c6cd4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/BitwiseUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.transformation.dag.util;
+package org.apache.iotdb.db.calc_commons.transformation.dag.util;
import org.apache.iotdb.db.exception.sql.SemanticException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CastFunctionUtils.java
similarity index 73%
copy from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
copy to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CastFunctionUtils.java
index e112c4a2e58..434ffdade79 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CastFunctionUtils.java
@@ -1,39 +1,25 @@
/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.calc_commons.transformation.dag.util;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CastFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.CastFunctionTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
import org.apache.tsfile.common.conf.TSFileConfig;
-import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.common.type.Type;
-import org.apache.tsfile.read.common.type.TypeFactory;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.BytesUtils;
import org.apache.tsfile.utils.DateUtils;
@@ -42,53 +28,10 @@ import javax.annotation.Nonnull;
import java.time.ZoneId;
import java.time.format.DateTimeParseException;
-import java.util.Map;
-
-import static org.apache.iotdb.db.utils.constant.SqlConstant.CAST_TYPE;
-
-public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
+public class CastFunctionUtils {
public static final String ERROR_MSG = "Unsupported target dataType: %s";
- @Override
- public void checkBuiltInScalarFunctionInputDataType(TSDataType tsDataType)
- throws SemanticException {
- // needn't check
- }
-
- @Override
- public TSDataType getBuiltInScalarFunctionReturnType(FunctionExpression functionExpression) {
- if (!functionExpression.getFunctionAttributes().containsKey(CAST_TYPE)) {
- throw new SemanticException("Function Cast must specify a target data type.");
- }
- return TSDataType.valueOf(
- functionExpression.getFunctionAttributes().get(CAST_TYPE).toUpperCase());
- }
-
- @Override
- public ColumnTransformer getBuiltInScalarFunctionColumnTransformer(
- FunctionExpression expression, ColumnTransformer columnTransformer) {
- return new CastFunctionColumnTransformer(
- TypeFactory.getType(this.getBuiltInScalarFunctionReturnType(expression)),
- columnTransformer,
- ZoneId.systemDefault());
- }
-
- @Override
- public Transformer getBuiltInScalarFunctionTransformer(
- FunctionExpression expression, LayerReader layerReader) {
- return new CastFunctionTransformer(
- layerReader, this.getBuiltInScalarFunctionReturnType(expression));
- }
-
- @Override
- public void appendFunctionAttributes(
- boolean hasExpression, StringBuilder builder, Map<String, String> functionAttributes) {
- // Cast has only one attribute
- builder.append(" AS ");
- builder.append(functionAttributes.entrySet().iterator().next().getValue());
- }
-
public static int castLongToInt(long value) {
if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
throw new SemanticException(
@@ -255,7 +198,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
switch (targetType.getTypeEnum()) {
case INT32:
case DATE:
- return CastFunctionHelper.castLongToInt(value);
+ return castLongToInt(value);
case INT64:
case TIMESTAMP:
return value;
@@ -278,7 +221,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
private static Object castTimestamp(long value, Type targetType, ZoneId zoneId) {
switch (targetType.getTypeEnum()) {
case INT32:
- return CastFunctionHelper.castLongToInt(value);
+ return castLongToInt(value);
case DATE:
return DateUtils.parseDateExpressionToInt(DateTimeUtils.convertToLocalDate(value, zoneId));
case INT64:
@@ -304,10 +247,10 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
switch (targetType.getTypeEnum()) {
case INT32:
case DATE:
- return CastFunctionHelper.castFloatToInt(value);
+ return castFloatToInt(value);
case INT64:
case TIMESTAMP:
- return CastFunctionHelper.castFloatToLong(value);
+ return castFloatToLong(value);
case FLOAT:
return value;
case DOUBLE:
@@ -328,12 +271,12 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
switch (targetType.getTypeEnum()) {
case INT32:
case DATE:
- return CastFunctionHelper.castDoubleToInt(value);
+ return castDoubleToInt(value);
case INT64:
case TIMESTAMP:
- return CastFunctionHelper.castDoubleToLong(value);
+ return castDoubleToLong(value);
case FLOAT:
- return CastFunctionHelper.castDoubleToFloat(value);
+ return castDoubleToFloat(value);
case DOUBLE:
return value;
case BOOLEAN:
@@ -385,11 +328,11 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
case TIMESTAMP:
return DateTimeUtils.convertDatetimeStrToLong(stringValue, zoneId);
case FLOAT:
- return CastFunctionHelper.castTextToFloat(stringValue);
+ return castTextToFloat(stringValue);
case DOUBLE:
- return CastFunctionHelper.castTextToDouble(stringValue);
+ return castTextToDouble(stringValue);
case BOOLEAN:
- return CastFunctionHelper.castTextToBoolean(stringValue);
+ return castTextToBoolean(stringValue);
case TEXT:
case STRING:
case BLOB:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CommonTransformUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CommonTransformUtils.java
new file mode 100644
index 00000000000..07772699854
--- /dev/null
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/transformation/dag/util/CommonTransformUtils.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.iotdb.db.calc_commons.transformation.dag.util;
+
+import org.apache.iotdb.db.exception.sql.SemanticException;
+
+import org.apache.tsfile.utils.Binary;
+
+import java.util.Objects;
+import java.util.Optional;
+
+public class CommonTransformUtils {
+ public static int compare(Binary first, Binary second) {
+ if (Objects.requireNonNull(first) == Objects.requireNonNull(second)) {
+ return 0;
+ }
+
+ return first.compareTo(second);
+ }
+
+ public static Optional<Character> getEscapeCharacter(String escape) {
+ if (escape.length() == 1) {
+ return Optional.of(escape.charAt(0));
+ } else {
+ throw new SemanticException("Escape string must be a single character");
+ }
+ }
+}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/timerangeiterator/TableDateBinTimeRangeIterator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/timerangeiterator/TableDateBinTimeRangeIterator.java
index d79fc284804..bdfb4198cd5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/timerangeiterator/TableDateBinTimeRangeIterator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/timerangeiterator/TableDateBinTimeRangeIterator.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.execution.aggregation.timerangeiterator;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
import org.apache.tsfile.read.common.TimeRange;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
index 92beafd3ab3..d659addd372 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
@@ -19,19 +19,19 @@
package org.apache.iotdb.db.queryengine.execution.operator.process;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.AbstractCaseWhenThenColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MappableUDFColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.TernaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.AbstractCaseWhenThenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.BinaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MappableUDFColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.TernaryColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
import com.google.common.util.concurrent.ListenableFuture;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java
index c3eb3355211..6d36e7e1b50 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java
@@ -30,7 +30,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Set;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
// with month interval
public class GapFillWGroupWMoOperator extends AbstractGapFillWGroupOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java
index 40cb5fef8cb..718540f62f0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java
@@ -31,7 +31,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Set;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
public class GapFillWGroupWoMoOperator extends AbstractGapFillWGroupOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java
index 738e35cd5cf..7c254032976 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java
@@ -27,7 +27,7 @@ import org.apache.tsfile.enums.TSDataType;
import java.time.ZoneId;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
public class GapFillWoGroupWMoOperator extends AbstractGapFillWoGroupOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java
index d4f8b86abef..19bbd1b6a1f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java
@@ -26,7 +26,7 @@ import org.apache.tsfile.enums.TSDataType;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.nextDateBin;
public class GapFillWoGroupWoMoOperator extends AbstractGapFillWoGroupOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java
index cc883bc7ad6..dbbd7e59728 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.schema.node.role.IDeviceMNode;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.info.TableDeviceInfo;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceBlackListConstructor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceBlackListConstructor.java
index ef71258c7c9..fa0a05c07bf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceBlackListConstructor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceBlackListConstructor.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.schema.node.role.IDeviceMNode;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.rescon.MemSchemaRegionStatistics;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateFilter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateFilter.java
index 42c87b94499..01775287402 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateFilter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateFilter.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.db.queryengine.execution.operator.schema.source;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.read.resp.info.IDeviceSchemaInfo;
import java.util.Iterator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
index 9cd6102c1be..7a14018eb2e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.commons.utils.PathUtils;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.read.resp.info.IDeviceSchemaInfo;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceUpdater.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceUpdater.java
index 06716c91e36..91d45f47425 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceUpdater.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceUpdater.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.schema.node.role.IDeviceMNode;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.info.TableDeviceInfo;
import org.apache.iotdb.db.schemaengine.schemaregion.read.resp.info.impl.ShowDevicesResult;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
index d9f773405f0..54b8ca1027d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
@@ -21,6 +21,129 @@ package org.apache.iotdb.db.queryengine.execution.relational;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.TableCaseWhenThenColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticColumnTransformerApi;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareEqualToColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterThanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessThanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareNonEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.HmacColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.Like2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.ConstantColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.NullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.TimeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.AbstractGreatestLeastColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.CoalesceColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InBinaryMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InBooleanMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InDoubleMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InFloatMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InInt32MultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InInt64MultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.InMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.LogicalAndMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.LogicalOrMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.BetweenColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.Like3ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.LpadColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.RpadColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.udf.UserDefineScalarFunctionTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.IsNullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LikeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LogicNotColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.AbsColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.AcosColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.AsinColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.AtanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitCount2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitCountColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseAnd2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseAndColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseLeftShift2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseLeftShiftColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseNotColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseOr2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseOrColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseRightShift2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseRightShiftArithmetic2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseRightShiftArithmeticColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseRightShiftColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseXor2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BitwiseXorColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BlobLengthColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToDoubleColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToFloatColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CRC32Transformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CastFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CeilColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Concat2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ConcatColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ConcatMultiColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CosColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CoshColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DegreesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DiffColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DiffFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DoubleToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.EndsWith2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.EndsWithColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ExpColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ExtractTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.FloatToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.FloorColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.FormatColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LTrim2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LTrimColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LengthColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LnColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Log10ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LowerColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ObjectLengthColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RTrim2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RTrimColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RadiansColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RegexpLike2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RegexpLikeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Replace2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Replace3ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ReplaceFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RoundColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RoundFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SignColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SinColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SinhColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SqrtColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StartsWith2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StartsWithColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Strcmp2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StrcmpColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Strpos2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.StrposColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SubString2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SubString3ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SubStringColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TanhColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.Trim2ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TrimColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.TryCastFunctionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.UpperColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
@@ -74,129 +197,6 @@ import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContex
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.TableCaseWhenThenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticColumnTransformerApi;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareEqualToColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareGreaterEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareGreaterThanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareLessThanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareNonEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.HmacColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.Like2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.ConstantColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.NullColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.TimeColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.AbstractGreatestLeastColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.CoalesceColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InBinaryMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InBooleanMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InDoubleMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InFloatMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InInt32MultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InInt64MultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.InMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.LogicalAndMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.LogicalOrMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.BetweenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.Like3ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.LpadColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.RpadColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.udf.UserDefineScalarFunctionTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.IsNullColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.LikeColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.LogicNotColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.AbsColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.AcosColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.AsinColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.AtanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitCount2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitCountColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseAnd2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseAndColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseLeftShift2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseLeftShiftColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseNotColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseOr2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseOrColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseRightShift2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseRightShiftArithmetic2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseRightShiftArithmeticColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseRightShiftColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseXor2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BitwiseXorColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BlobLengthColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToDoubleColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToFloatColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CRC32Transformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CastFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CeilColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Concat2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ConcatColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ConcatMultiColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CosColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CoshColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DegreesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DiffColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DiffFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DoubleToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.EndsWith2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.EndsWithColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ExpColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ExtractTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.FloatToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.FloorColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.FormatColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LTrim2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LTrimColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LengthColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LnColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Log10ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LowerColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ObjectLengthColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RTrim2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RTrimColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RadiansColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RegexpLike2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RegexpLikeColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Replace2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Replace3ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ReplaceFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RoundColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RoundFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SignColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SinColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SinhColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SqrtColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StartsWith2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StartsWithColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Strcmp2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StrcmpColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Strpos2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.StrposColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SubString2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SubString3ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SubStringColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TanhColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.Trim2ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TrimColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.TryCastFunctionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.UpperColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.udf.api.customizer.analysis.ScalarFunctionAnalysis;
import org.apache.iotdb.udf.api.customizer.parameter.FunctionArguments;
import org.apache.iotdb.udf.api.relational.ScalarFunction;
@@ -230,17 +230,17 @@ import java.util.Set;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBlobType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacMd5Strategy;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha1Strategy;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha256Strategy;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha512Strategy;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils.getEscapeCharacter;
import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoMetadataChecker.isStringLiteral;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacMd5Strategy;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha1Strategy;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha256Strategy;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory.createConstantKeyHmacSha512Strategy;
import static org.apache.tsfile.read.common.type.BlobType.BLOB;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java
index 621b06660a8..d416b1c1e37 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
index e112c4a2e58..09d5eb752d2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
@@ -19,37 +19,25 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CastFunctionColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CastFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.CastFunctionTransformer;
-import org.apache.iotdb.db.utils.DateTimeUtils;
-import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.enums.TSDataType;
-import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeFactory;
-import org.apache.tsfile.utils.Binary;
-import org.apache.tsfile.utils.BytesUtils;
-import org.apache.tsfile.utils.DateUtils;
-
-import javax.annotation.Nonnull;
import java.time.ZoneId;
-import java.time.format.DateTimeParseException;
import java.util.Map;
import static org.apache.iotdb.db.utils.constant.SqlConstant.CAST_TYPE;
public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
- public static final String ERROR_MSG = "Unsupported target dataType: %s";
-
@Override
public void checkBuiltInScalarFunctionInputDataType(TSDataType tsDataType)
throws SemanticException {
@@ -88,319 +76,4 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
builder.append(" AS ");
builder.append(functionAttributes.entrySet().iterator().next().getValue());
}
-
- public static int castLongToInt(long value) {
- if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
- throw new SemanticException(
- String.format("long value %d is out of range of integer value.", value));
- }
- return (int) value;
- }
-
- public static int castFloatToInt(float value) {
- if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
- throw new SemanticException(
- String.format("Float value %f is out of range of integer value.", value));
- }
- return Math.round(value);
- }
-
- public static long castFloatToLong(float value) {
- if (value > Long.MAX_VALUE || value < Long.MIN_VALUE) {
- throw new SemanticException(
- String.format("Float value %f is out of range of long value.", value));
- }
- return Math.round((double) value);
- }
-
- public static int castDoubleToInt(double value) {
- if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
- throw new SemanticException(
- String.format("Double value %f is out of range of integer value.", value));
- }
- return Math.round((float) value);
- }
-
- public static long castDoubleToLong(double value) {
- if (value > Long.MAX_VALUE || value < Long.MIN_VALUE) {
- throw new SemanticException(
- String.format("Double value %f is out of range of long value.", value));
- }
- return Math.round(value);
- }
-
- public static float castDoubleToFloat(double value) {
- if (value > Float.MAX_VALUE || value < -Float.MAX_VALUE) {
- throw new SemanticException(
- String.format("Double value %f is out of range of float value.", value));
- }
- return (float) value;
- }
-
- public static float castTextToFloat(String value) {
- float f = Float.parseFloat(value);
- if (f == Float.POSITIVE_INFINITY || f == Float.NEGATIVE_INFINITY) {
- throw new SemanticException(
- String.format("Text value %s is out of range of float value.", value));
- }
- return f;
- }
-
- public static double castTextToDouble(String value) {
- double d = Double.parseDouble(value);
- if (d == Double.POSITIVE_INFINITY || d == Double.NEGATIVE_INFINITY) {
- throw new SemanticException(
- String.format("Text value %s is out of range of double value.", value));
- }
- return d;
- }
-
- public static boolean castTextToBoolean(String value) {
- String lowerCase = value.toLowerCase();
- if (lowerCase.equals("true")) {
- return true;
- } else if (lowerCase.equals("false")) {
- return false;
- } else {
- throw new SemanticException(String.format("Invalid text input for boolean type: %s", value));
- }
- }
-
- // used by IrExpressionInterpreter to do constant folding
- public static Object cast(
- @Nonnull Object value, Type sourceType, Type targetType, SessionInfo session) {
- switch (sourceType.getTypeEnum()) {
- case INT32:
- int intV = value instanceof Integer ? (int) value : ((Long) value).intValue();
- return castInt(intV, targetType);
- case DATE:
- int dateV = value instanceof Integer ? (int) value : ((Long) value).intValue();
- return castDate(dateV, targetType, session.getZoneId());
- case INT64:
- long longV = (Long) value;
- return castLong(longV, targetType);
- case TIMESTAMP:
- long timestampV = (Long) value;
- return castTimestamp(timestampV, targetType, session.getZoneId());
- case FLOAT:
- float floatV = value instanceof Float ? (float) value : ((Double) value).floatValue();
- return castFloat(floatV, targetType);
- case DOUBLE:
- double doubleV = (Double) value;
- return castDouble(doubleV, targetType);
- case BOOLEAN:
- boolean boolV = (Boolean) value;
- return castBool(boolV, targetType);
- case TEXT:
- case STRING:
- case BLOB:
- Binary binaryV = (Binary) value;
- return castBinary(binaryV, targetType, session.getZoneId());
- default:
- throw new UnsupportedOperationException(
- String.format("Unsupported source dataType: %s", sourceType.getTypeEnum()));
- }
- }
-
- private static Object castInt(int value, Type targetType) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return value;
- case INT64:
- case TIMESTAMP:
- return (long) value;
- case FLOAT:
- return (float) value;
- case DOUBLE:
- return (double) value;
- case BOOLEAN:
- return value != 0;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(String.valueOf(value));
- case BLOB:
- return new Binary(BytesUtils.intToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castDate(int value, Type targetType, ZoneId zoneId) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return value;
- case INT64:
- return (long) value;
- case TIMESTAMP:
- return DateTimeUtils.correctPrecision(DateUtils.parseIntToTimestamp(value, zoneId));
- case FLOAT:
- return (float) value;
- case DOUBLE:
- return (double) value;
- case BOOLEAN:
- return value != 0;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(DateUtils.formatDate(value));
- case BLOB:
- return new Binary(BytesUtils.intToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castLong(long value, Type targetType) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return CastFunctionHelper.castLongToInt(value);
- case INT64:
- case TIMESTAMP:
- return value;
- case FLOAT:
- return (float) value;
- case DOUBLE:
- return (double) value;
- case BOOLEAN:
- return value != 0L;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(String.valueOf(value));
- case BLOB:
- return new Binary(BytesUtils.longToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castTimestamp(long value, Type targetType, ZoneId zoneId) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- return CastFunctionHelper.castLongToInt(value);
- case DATE:
- return DateUtils.parseDateExpressionToInt(DateTimeUtils.convertToLocalDate(value, zoneId));
- case INT64:
- case TIMESTAMP:
- return value;
- case FLOAT:
- return (float) value;
- case DOUBLE:
- return (double) value;
- case BOOLEAN:
- return value != 0L;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(DateTimeUtils.convertLongToDate(value, zoneId));
- case BLOB:
- return new Binary(BytesUtils.longToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castFloat(float value, Type targetType) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return CastFunctionHelper.castFloatToInt(value);
- case INT64:
- case TIMESTAMP:
- return CastFunctionHelper.castFloatToLong(value);
- case FLOAT:
- return value;
- case DOUBLE:
- return (double) value;
- case BOOLEAN:
- return value != 0.0f;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(String.valueOf(value));
- case BLOB:
- return new Binary(BytesUtils.floatToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castDouble(double value, Type targetType) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return CastFunctionHelper.castDoubleToInt(value);
- case INT64:
- case TIMESTAMP:
- return CastFunctionHelper.castDoubleToLong(value);
- case FLOAT:
- return CastFunctionHelper.castDoubleToFloat(value);
- case DOUBLE:
- return value;
- case BOOLEAN:
- return value != 0.0d;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(String.valueOf(value));
- case BLOB:
- return new Binary(BytesUtils.doubleToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castBool(boolean value, Type targetType) {
- switch (targetType.getTypeEnum()) {
- case INT32:
- case DATE:
- return value ? 1 : 0;
- case INT64:
- case TIMESTAMP:
- return value ? 1L : 0L;
- case FLOAT:
- return value ? 1.0f : 0.0f;
- case DOUBLE:
- return value ? 1.0d : 0.0d;
- case BOOLEAN:
- return value;
- case TEXT:
- case STRING:
- return BytesUtils.valueOf(String.valueOf(value));
- case BLOB:
- return new Binary(BytesUtils.boolToBytes(value));
- default:
- throw new UnsupportedOperationException(String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- }
-
- private static Object castBinary(Binary value, Type targetType, ZoneId zoneId) {
- String stringValue = value.getStringValue(TSFileConfig.STRING_CHARSET);
- try {
- switch (targetType.getTypeEnum()) {
- case INT32:
- return Integer.parseInt(stringValue);
- case DATE:
- return DateUtils.parseDateExpressionToInt(stringValue);
- case INT64:
- return Long.parseLong(stringValue);
- case TIMESTAMP:
- return DateTimeUtils.convertDatetimeStrToLong(stringValue, zoneId);
- case FLOAT:
- return CastFunctionHelper.castTextToFloat(stringValue);
- case DOUBLE:
- return CastFunctionHelper.castTextToDouble(stringValue);
- case BOOLEAN:
- return CastFunctionHelper.castTextToBoolean(stringValue);
- case TEXT:
- case STRING:
- case BLOB:
- return value;
- default:
- throw new UnsupportedOperationException(
- String.format(ERROR_MSG, targetType.getTypeEnum()));
- }
- } catch (DateTimeParseException | NumberFormatException e) {
- throw new SemanticException(
- String.format("Cannot cast %s to %s type", stringValue, targetType.getDisplayName()));
- }
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java
index 858d21ecad8..ab8998f34ab 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DiffFunctionColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DiffFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.DiffFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java
index af28d6cc857..16016f28581 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ReplaceFunctionColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ReplaceFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.ReplaceFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java
index 0a4a8bf4a73..fe0d26bb46f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.RoundFunctionColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.RoundFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.RoundFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java
index 7d9490ac759..d811e696aec 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.SubStringFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.SubStringFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java
index 9a58bfdc46b..fcf43f21c1a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.queryengine.plan.expression.unary;
-import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
@@ -149,12 +148,4 @@ public class LikeExpression extends UnaryExpression {
+ MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(expression)
+ RamUsageEstimator.sizeOf(pattern);
}
-
- public static Optional<Character> getEscapeCharacter(String escape) {
- if (escape.length() == 1) {
- return Optional.of(escape.charAt(0));
- } else {
- throw new SemanticException("Escape string must be a single character");
- }
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java
index 8e7bb0a129e..02cc6f58822 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java
@@ -19,6 +19,36 @@
package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.TreeCaseWhenThenColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticAdditionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticDivisionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticModuloColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticMultiplicationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticSubtractionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareEqualToColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterThanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessThanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareNonEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LogicAndColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LogicOrColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LongDivisionLongColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LongModulusLongColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.ConstantColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.NullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.TimeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.multi.MappableUDFColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.BetweenColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.ArithmeticNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.InColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.IsNullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LikeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LogicNotColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.RegularColumnTransformer;
import org.apache.iotdb.db.node_commons.common.NodeRef;
import org.apache.iotdb.db.node_commons.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
@@ -39,36 +69,6 @@ import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.TreeCaseWhenThenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticAdditionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticDivisionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticModuloColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticMultiplicationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticSubtractionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareEqualToColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareGreaterEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareGreaterThanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareLessThanColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareNonEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LogicAndColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LogicOrColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongDivisionLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongModulusLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.ConstantColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.NullColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.TimeColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.multi.MappableUDFColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ternary.BetweenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.ArithmeticNegationColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.InColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.IsNullColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.LikeColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.LogicNotColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.RegularColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFContext;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index 3b020a94638..9fb77d2298e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -308,7 +308,7 @@ import static org.apache.iotdb.commons.schema.SchemaConstant.ALL_RESULT_NODES;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.FIELD;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TAG;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TIME;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.optimization.LimitOffsetPushDown.canPushDownLimitOffsetToGroupByTime;
import static org.apache.iotdb.db.queryengine.plan.optimization.LimitOffsetPushDown.pushDownLimitOffsetToTimeParameter;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.parser.AstBuilder.lowerIdentifier;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
index 81514efbffd..82fc54055a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
@@ -24,6 +24,8 @@ import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.db.calc_commons.plan.planner.TableOperatorGenerator;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.parameter.InputLocation;
@@ -118,8 +120,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.Table
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceQueryCountNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceQueryScanNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.read.resp.info.IDeviceSchemaInfo;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index 6407bf67631..fd5a73de56f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
@@ -28,6 +28,8 @@ import org.apache.iotdb.commons.path.IFullPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.NonAlignedFullPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.node_commons.common.NodeRef;
@@ -265,8 +267,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
import org.apache.iotdb.db.queryengine.plan.statement.literal.Literal;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFContext;
import org.apache.iotdb.db.storageengine.dataregion.read.QueryDataSourceType;
import org.apache.iotdb.db.utils.columngenerator.ColumnGenerator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
index 26c1fef2d93..710b550ed2c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.analyzer;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.relational.analyzer.NodeRef;
@@ -96,7 +97,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecogniti
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.OperatorNotFoundException;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RangeQuantifier;
@@ -142,6 +142,9 @@ import static java.util.Collections.unmodifiableMap;
import static java.util.Collections.unmodifiableSet;
import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoTypeComparable;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DereferenceExpression.isQualifiedAllFieldsReference;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.CURRENT_ROW;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.FOLLOWING;
@@ -153,9 +156,6 @@ import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFra
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.ROWS;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractExpressions;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isNumericType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.NodeUtils.getSortItemsFromOrderBy;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_AGGREGATION;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_BY_AGGREGATION;
@@ -640,7 +640,7 @@ public class ExpressionAnalyzer {
return handleResolvedField(node, resolvedField.get(), context);
}
if (!scope.isColumnReference(qualifiedName)) {
- TableMetadataImpl.throwColumnNotExistsException(qualifiedName);
+ CommonMetadataUtils.throwColumnNotExistsException(qualifiedName);
}
}
@@ -670,7 +670,7 @@ public class ExpressionAnalyzer {
}
if (rowFieldType == null) {
- TableMetadataImpl.throwColumnNotExistsException(qualifiedName);
+ CommonMetadataUtils.throwColumnNotExistsException(qualifiedName);
}
return setExpressionType(node, rowFieldType);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
index 312b3888a34..0f48aef0a83 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.relational.analyzer.NodeRef;
@@ -107,7 +108,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.Ta
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ScopeAware;
@@ -272,6 +272,7 @@ import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.commons.schema.table.TsTable.TABLE_ALLOWED_PROPERTIES;
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction.DATE_BIN;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTimestampType;
import static org.apache.iotdb.db.node_commons.plan.relational.function.tvf.ForecastTableFunction.TIMECOL_PARAMETER_NAME;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DereferenceExpression.getQualifiedName;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join.Type.FULL;
@@ -288,7 +289,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.Expressio
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractWindowFunctions;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.Scope.BasisType.TABLE;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.MetadataUtil.createQualifiedObjectName;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTimestampType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.IrExpressionInterpreter.evaluateConstantExpression;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation.RowsPerMatch.ONE;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.util.AstUtil.preOrder;
@@ -666,7 +666,7 @@ public class StatementAnalyzer {
QualifiedObjectName targetTable =
createQualifiedObjectName(sessionContext, insert.getTarget());
if (!metadata.tableExists(targetTable)) {
- TableMetadataImpl.throwTableNotExistsException(
+ CommonMetadataUtils.throwTableNotExistsException(
targetTable.getDatabaseName(), targetTable.getObjectName());
}
// verify access privileges
@@ -676,7 +676,7 @@ public class StatementAnalyzer {
// verify the insert destination columns match the query
Optional<TableSchema> tableSchema = metadata.getTableSchema(sessionContext, targetTable);
if (!tableSchema.isPresent()) {
- TableMetadataImpl.throwTableNotExistsException(
+ CommonMetadataUtils.throwTableNotExistsException(
targetTable.getDatabaseName(), targetTable.getObjectName());
}
List<ColumnSchema> columns =
@@ -3154,7 +3154,7 @@ public class StatementAnalyzer {
// This can only be a table
if (!tableSchema.isPresent()) {
- TableMetadataImpl.throwTableNotExistsException(
+ CommonMetadataUtils.throwTableNotExistsException(
name.getDatabaseName(), name.getObjectName());
}
analysis.addEmptyColumnReferencesForTable(accessControl, sessionContext.getIdentity(), name);
@@ -4623,7 +4623,7 @@ public class StatementAnalyzer {
}
if (!metadata.tableExists(new QualifiedObjectName(database, tableName))) {
- TableMetadataImpl.throwTableNotExistsException(database, tableName);
+ CommonMetadataUtils.throwTableNotExistsException(database, tableName);
}
node.setColumnHeaderList();
@@ -4633,7 +4633,7 @@ public class StatementAnalyzer {
final Optional<TableSchema> tableSchema = metadata.getTableSchema(sessionContext, name);
// This can only be a table
if (!tableSchema.isPresent()) {
- TableMetadataImpl.throwTableNotExistsException(database, tableName);
+ CommonMetadataUtils.throwTableNotExistsException(database, tableName);
}
final TableSchema originalSchema = tableSchema.get();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
index cafb9b92411..1eac2aaaf9b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
@@ -76,7 +76,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.ConvertPredicateToTimeFilterVisitor.getLongValue;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isLiteral;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isSymbolReference;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
index f761134be93..49725a3abaa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
@@ -62,7 +62,7 @@ import java.util.Optional;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isSymbolReference;
/**
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
index 4340b78e971..ac8f4d725e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
@@ -19,8 +19,6 @@
package org.apache.iotdb.db.queryengine.plan.relational.metadata;
-import org.apache.iotdb.commons.exception.IoTDBException;
-import org.apache.iotdb.commons.exception.table.TableNotExistsException;
import org.apache.iotdb.commons.partition.DataPartition;
import org.apache.iotdb.commons.partition.DataPartitionQueryParam;
import org.apache.iotdb.commons.partition.SchemaPartition;
@@ -30,6 +28,7 @@ import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.exception.load.LoadAnalyzeTableColumnDisorderException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
@@ -55,7 +54,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.utils.constant.SqlConstant;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.iotdb.udf.api.customizer.analysis.AggregateFunctionAnalysis;
import org.apache.iotdb.udf.api.customizer.analysis.ScalarFunctionAnalysis;
import org.apache.iotdb.udf.api.customizer.parameter.FunctionArguments;
@@ -65,7 +63,6 @@ import org.apache.iotdb.udf.api.relational.TableFunction;
import org.apache.tsfile.file.metadata.IDeviceID;
import org.apache.tsfile.read.common.type.ObjectType;
-import org.apache.tsfile.read.common.type.StringType;
import org.apache.tsfile.read.common.type.Type;
import org.apache.tsfile.read.common.type.TypeFactory;
@@ -77,11 +74,9 @@ import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
-import static org.apache.tsfile.read.common.type.BinaryType.TEXT;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
import static org.apache.tsfile.read.common.type.BlobType.BLOB;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
-import static org.apache.tsfile.read.common.type.DateType.DATE;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
import static org.apache.tsfile.read.common.type.FloatType.FLOAT;
import static org.apache.tsfile.read.common.type.IntType.INT32;
@@ -139,7 +134,7 @@ public class TableMetadataImpl implements Metadata {
switch (operatorType) {
case ADD:
- if (!isTwoTypeCalculable(argumentTypes)
+ if (!CommonMetadataUtils.isTwoTypeCalculable(argumentTypes)
|| !AdditionResolver.checkConditions(argumentTypes).isPresent()) {
throw new OperatorNotFoundException(
operatorType,
@@ -148,7 +143,7 @@ public class TableMetadataImpl implements Metadata {
}
return AdditionResolver.checkConditions(argumentTypes).get();
case SUBTRACT:
- if (!isTwoTypeCalculable(argumentTypes)
+ if (!CommonMetadataUtils.isTwoTypeCalculable(argumentTypes)
|| !SubtractionResolver.checkConditions(argumentTypes).isPresent()) {
throw new OperatorNotFoundException(
operatorType,
@@ -157,7 +152,7 @@ public class TableMetadataImpl implements Metadata {
}
return SubtractionResolver.checkConditions(argumentTypes).get();
case MULTIPLY:
- if (!isTwoTypeCalculable(argumentTypes)
+ if (!CommonMetadataUtils.isTwoTypeCalculable(argumentTypes)
|| !MultiplicationResolver.checkConditions(argumentTypes).isPresent()) {
throw new OperatorNotFoundException(
operatorType,
@@ -166,7 +161,7 @@ public class TableMetadataImpl implements Metadata {
}
return MultiplicationResolver.checkConditions(argumentTypes).get();
case DIVIDE:
- if (!isTwoTypeCalculable(argumentTypes)
+ if (!CommonMetadataUtils.isTwoTypeCalculable(argumentTypes)
|| !DivisionResolver.checkConditions(argumentTypes).isPresent()) {
throw new OperatorNotFoundException(
operatorType,
@@ -175,7 +170,7 @@ public class TableMetadataImpl implements Metadata {
}
return DivisionResolver.checkConditions(argumentTypes).get();
case MODULUS:
- if (!isTwoTypeCalculable(argumentTypes)
+ if (!CommonMetadataUtils.isTwoTypeCalculable(argumentTypes)
|| !ModulusResolver.checkConditions(argumentTypes).isPresent()) {
throw new OperatorNotFoundException(
operatorType,
@@ -184,7 +179,8 @@ public class TableMetadataImpl implements Metadata {
}
return ModulusResolver.checkConditions(argumentTypes).get();
case NEGATION:
- if (!isOneNumericType(argumentTypes) && !isTimestampType(argumentTypes.get(0))) {
+ if (!CommonMetadataUtils.isOneNumericType(argumentTypes)
+ && !CommonMetadataUtils.isTimestampType(argumentTypes.get(0))) {
throw new OperatorNotFoundException(
operatorType,
argumentTypes,
@@ -194,7 +190,7 @@ public class TableMetadataImpl implements Metadata {
case EQUAL:
case LESS_THAN:
case LESS_THAN_OR_EQUAL:
- if (!isTwoTypeComparable(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoTypeComparable(argumentTypes)) {
throw new OperatorNotFoundException(
operatorType,
argumentTypes,
@@ -216,9 +212,9 @@ public class TableMetadataImpl implements Metadata {
// builtin scalar function
if (TableBuiltinScalarFunction.DIFF.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!isOneNumericType(argumentTypes)
+ if (!CommonMetadataUtils.isOneNumericType(argumentTypes)
&& !(argumentTypes.size() == 2
- && isNumericType(argumentTypes.get(0))
+ && CommonMetadataUtils.isNumericType(argumentTypes.get(0))
&& BOOLEAN.equals(argumentTypes.get(1)))) {
throw new SemanticException(
"Scalar function "
@@ -227,8 +223,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.ROUND.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!isOneSupportedMathNumericType(argumentTypes)
- && !isTwoSupportedMathNumericType(argumentTypes)) {
+ if (!CommonMetadataUtils.isOneSupportedMathNumericType(argumentTypes)
+ && !CommonMetadataUtils.isTwoSupportedMathNumericType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -239,7 +235,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes) && !isThreeCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)
+ && !CommonMetadataUtils.isThreeCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -250,12 +247,12 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 2
- && isCharType(argumentTypes.get(0))
- && isIntegerNumber(argumentTypes.get(1)))
+ && CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ && CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1)))
&& !(argumentTypes.size() == 3
- && isCharType(argumentTypes.get(0))
- && isIntegerNumber(argumentTypes.get(1))
- && isIntegerNumber(argumentTypes.get(2)))) {
+ && CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ && CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1))
+ && CommonMetadataUtils.isIntegerNumber(argumentTypes.get(2)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -264,9 +261,9 @@ public class TableMetadataImpl implements Metadata {
return STRING;
} else if (TableBuiltinScalarFunction.LENGTH.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0))
- || isBlobType(argumentTypes.get(0))
- || isObjectType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || CommonMetadataUtils.isObjectType(argumentTypes.get(0))))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -274,7 +271,7 @@ public class TableMetadataImpl implements Metadata {
}
return INT64;
} else if (TableBuiltinScalarFunction.UPPER.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isCharType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1 && CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -282,7 +279,7 @@ public class TableMetadataImpl implements Metadata {
}
return STRING;
} else if (TableBuiltinScalarFunction.LOWER.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isCharType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1 && CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -290,8 +287,8 @@ public class TableMetadataImpl implements Metadata {
}
return STRING;
} else if (TableBuiltinScalarFunction.TRIM.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isCharType(argumentTypes.get(0)))
- && !(argumentTypes.size() == 2 && isTwoCharType(argumentTypes))) {
+ if (!(argumentTypes.size() == 1 && CommonMetadataUtils.isCharType(argumentTypes.get(0)))
+ && !(argumentTypes.size() == 2 && CommonMetadataUtils.isTwoCharType(argumentTypes))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -299,8 +296,8 @@ public class TableMetadataImpl implements Metadata {
}
return STRING;
} else if (TableBuiltinScalarFunction.LTRIM.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isCharType(argumentTypes.get(0)))
- && !(argumentTypes.size() == 2 && isTwoCharType(argumentTypes))) {
+ if (!(argumentTypes.size() == 1 && CommonMetadataUtils.isCharType(argumentTypes.get(0)))
+ && !(argumentTypes.size() == 2 && CommonMetadataUtils.isTwoCharType(argumentTypes))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -308,8 +305,8 @@ public class TableMetadataImpl implements Metadata {
}
return STRING;
} else if (TableBuiltinScalarFunction.RTRIM.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isCharType(argumentTypes.get(0)))
- && !(argumentTypes.size() == 2 && isTwoCharType(argumentTypes))) {
+ if (!(argumentTypes.size() == 1 && CommonMetadataUtils.isCharType(argumentTypes.get(0)))
+ && !(argumentTypes.size() == 2 && CommonMetadataUtils.isTwoCharType(argumentTypes))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -319,7 +316,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.REGEXP_LIKE
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -327,7 +324,7 @@ public class TableMetadataImpl implements Metadata {
}
return BOOLEAN;
} else if (TableBuiltinScalarFunction.STRPOS.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -337,7 +334,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.STARTS_WITH
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -347,7 +344,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.ENDS_WITH
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -356,7 +353,7 @@ public class TableMetadataImpl implements Metadata {
return BOOLEAN;
} else if (TableBuiltinScalarFunction.CONCAT.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() >= 2
- && argumentTypes.stream().allMatch(TableMetadataImpl::isCharType))) {
+ && argumentTypes.stream().allMatch(CommonMetadataUtils::isCharType))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -364,7 +361,7 @@ public class TableMetadataImpl implements Metadata {
}
return STRING;
} else if (TableBuiltinScalarFunction.STRCMP.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!isTwoCharType(argumentTypes)) {
+ if (!CommonMetadataUtils.isTwoCharType(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -372,7 +369,8 @@ public class TableMetadataImpl implements Metadata {
}
return INT32;
} else if (TableBuiltinScalarFunction.SIN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -380,7 +378,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.COS.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -388,7 +387,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.TAN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -396,7 +396,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.ASIN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -404,7 +405,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.ACOS.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -412,7 +414,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.ATAN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -420,7 +423,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.SINH.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -428,7 +432,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.COSH.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -436,7 +441,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.TANH.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -446,7 +452,8 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.DEGREES
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -456,7 +463,8 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.RADIANS
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -464,7 +472,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.ABS.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -472,7 +481,8 @@ public class TableMetadataImpl implements Metadata {
}
return argumentTypes.get(0);
} else if (TableBuiltinScalarFunction.SIGN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -480,7 +490,8 @@ public class TableMetadataImpl implements Metadata {
}
return argumentTypes.get(0);
} else if (TableBuiltinScalarFunction.CEIL.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -488,7 +499,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.FLOOR.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -496,7 +508,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.EXP.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -504,7 +517,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.LN.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -512,7 +526,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.LOG10.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -520,7 +535,8 @@ public class TableMetadataImpl implements Metadata {
}
return DOUBLE;
} else if (TableBuiltinScalarFunction.SQRT.getFunctionName().equalsIgnoreCase(functionName)) {
- if (!(argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0)))) {
+ if (!(argumentTypes.size() == 1
+ && CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0)))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -546,7 +562,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.DATE_BIN
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (!isTimestampType(argumentTypes.get(2))) {
+ if (!CommonMetadataUtils.isTimestampType(argumentTypes.get(2))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -554,7 +570,7 @@ public class TableMetadataImpl implements Metadata {
}
return TIMESTAMP;
} else if (TableBuiltinScalarFunction.FORMAT.getFunctionName().equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() < 2 || !isCharType(argumentTypes.get(0))) {
+ if (argumentTypes.size() < 2 || !CommonMetadataUtils.isCharType(argumentTypes.get(0))) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -565,7 +581,8 @@ public class TableMetadataImpl implements Metadata {
return UNKNOWN;
} else if (TableBuiltinScalarFunction.GREATEST.getFunctionName().equalsIgnoreCase(functionName)
|| TableBuiltinScalarFunction.LEAST.getFunctionName().equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() < 2 || !areAllTypesSameAndComparable(argumentTypes)) {
+ if (argumentTypes.size() < 2
+ || !CommonMetadataUtils.areAllTypesSameAndComparable(argumentTypes)) {
throw new SemanticException(
"Scalar function "
+ functionName.toLowerCase(Locale.ENGLISH)
@@ -579,7 +596,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 2
- || !(isIntegerNumber(argumentTypes.get(0)) && isIntegerNumber(argumentTypes.get(1)))) {
+ || !(CommonMetadataUtils.isIntegerNumber(argumentTypes.get(0))
+ && CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts two arguments and they must be Int32 or Int64 data type.",
@@ -589,7 +607,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.BITWISE_NOT
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isIntegerNumber(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isIntegerNumber(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be Int32 or Int64 data type.",
@@ -606,7 +624,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 2
- || !(isIntegerNumber(argumentTypes.get(0)) && isIntegerNumber(argumentTypes.get(1)))) {
+ || !(CommonMetadataUtils.isIntegerNumber(argumentTypes.get(0))
+ && CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts two arguments and they must be Int32 or Int64 data type.",
@@ -617,7 +636,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -627,7 +647,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BASE64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isCharType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isCharType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT or STRING data type.",
@@ -638,7 +658,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -648,7 +669,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BASE64URL
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isCharType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isCharType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT or STRING data type.",
@@ -659,7 +680,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -669,7 +691,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BASE32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isCharType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isCharType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT or STRING data type.",
@@ -678,7 +700,8 @@ public class TableMetadataImpl implements Metadata {
return BLOB;
} else if (TableBuiltinScalarFunction.SHA256.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -687,7 +710,8 @@ public class TableMetadataImpl implements Metadata {
return BLOB;
} else if (TableBuiltinScalarFunction.SHA512.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -696,7 +720,8 @@ public class TableMetadataImpl implements Metadata {
return BLOB;
} else if (TableBuiltinScalarFunction.SHA1.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -705,7 +730,8 @@ public class TableMetadataImpl implements Metadata {
return BLOB;
} else if (TableBuiltinScalarFunction.MD5.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -716,7 +742,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -727,7 +754,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -736,7 +764,8 @@ public class TableMetadataImpl implements Metadata {
return BLOB;
} else if (TableBuiltinScalarFunction.TO_HEX.getFunctionName().equalsIgnoreCase(functionName)) {
if (!(argumentTypes.size() == 1
- && (isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0))))) {
+ && (CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0))))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -746,7 +775,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_HEX
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isCharType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isCharType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT or STRING data type.",
@@ -757,7 +786,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 1
- || !(isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0)))) {
+ || !(CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BlOB data type.",
@@ -771,8 +801,9 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 2
- || !(isCharType(argumentTypes.get(0)) || isBlobType(argumentTypes.get(0)))
- || !isCharType(argumentTypes.get(1))) {
+ || !(CommonMetadataUtils.isCharType(argumentTypes.get(0))
+ || CommonMetadataUtils.isBlobType(argumentTypes.get(0)))
+ || !CommonMetadataUtils.isCharType(argumentTypes.get(1))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts two arguments, first argument must be TEXT, STRING, or BlOB type, second argument must be STRING OR TEXT type.",
@@ -792,7 +823,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BIG_ENDIAN_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -812,7 +843,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BIG_ENDIAN_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -832,7 +863,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_LITTLE_ENDIAN_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -852,7 +883,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_LITTLE_ENDIAN_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -872,7 +903,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_IEEE754_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -892,7 +923,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_IEEE754_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -901,7 +932,8 @@ public class TableMetadataImpl implements Metadata {
return DOUBLE;
} else if (TableBuiltinScalarFunction.CRC32.getFunctionName().equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 1
- || !(isBlobType(argumentTypes.get(0)) || isCharType(argumentTypes.get(0)))) {
+ || !(CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -915,7 +947,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 1
- || !(isBlobType(argumentTypes.get(0)) || isCharType(argumentTypes.get(0)))) {
+ || !(CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -935,7 +968,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BIG_ENDIAN_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -955,7 +988,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_BIG_ENDIAN_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -975,7 +1008,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_LITTLE_ENDIAN_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -995,7 +1028,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_LITTLE_ENDIAN_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -1015,7 +1048,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_IEEE754_32
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -1035,7 +1068,7 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.FROM_IEEE754_64
.getFunctionName()
.equalsIgnoreCase(functionName)) {
- if (argumentTypes.size() != 1 || !isBlobType(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be BLOB data type.",
@@ -1044,7 +1077,8 @@ public class TableMetadataImpl implements Metadata {
return DOUBLE;
} else if (TableBuiltinScalarFunction.CRC32.getFunctionName().equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 1
- || !(isBlobType(argumentTypes.get(0)) || isCharType(argumentTypes.get(0)))) {
+ || !(CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -1058,7 +1092,8 @@ public class TableMetadataImpl implements Metadata {
.getFunctionName()
.equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 1
- || !(isBlobType(argumentTypes.get(0)) || isCharType(argumentTypes.get(0)))) {
+ || !(CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || CommonMetadataUtils.isCharType(argumentTypes.get(0)))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts one argument and it must be TEXT, STRING, or BLOB data type.",
@@ -1068,9 +1103,9 @@ public class TableMetadataImpl implements Metadata {
} else if (TableBuiltinScalarFunction.LPAD.getFunctionName().equalsIgnoreCase(functionName)
|| TableBuiltinScalarFunction.RPAD.getFunctionName().equalsIgnoreCase(functionName)) {
if (argumentTypes.size() != 3
- || !isBlobType(argumentTypes.get(0))
- || !isIntegerNumber(argumentTypes.get(1))
- || !isBlobType(argumentTypes.get(2))) {
+ || !CommonMetadataUtils.isBlobType(argumentTypes.get(0))
+ || !CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1))
+ || !CommonMetadataUtils.isBlobType(argumentTypes.get(2))) {
throw new SemanticException(
String.format(
"Scalar function %s only accepts three arguments, first argument must be BlOB type, "
@@ -1098,7 +1133,7 @@ public class TableMetadataImpl implements Metadata {
"Aggregate functions [%s] should only have one argument", functionName));
}
- if (!isSupportedMathNumericType(argumentTypes.get(0))) {
+ if (!CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Aggregate functions [%s] only support numeric data types [INT32, INT64, FLOAT, DOUBLE]",
@@ -1115,7 +1150,7 @@ public class TableMetadataImpl implements Metadata {
}
break;
case SqlConstant.COUNT_IF:
- if (argumentTypes.size() != 1 || !isBool(argumentTypes.get(0))) {
+ if (argumentTypes.size() != 1 || !CommonMetadataUtils.isBool(argumentTypes.get(0))) {
throw new SemanticException(
String.format(
"Aggregate functions [%s] should only have one boolean expression as argument",
@@ -1128,7 +1163,7 @@ public class TableMetadataImpl implements Metadata {
throw new SemanticException(
String.format(
"Aggregate functions [%s] should only have one or two arguments", functionName));
- } else if (!isTimestampType(argumentTypes.get(1))) {
+ } else if (!CommonMetadataUtils.isTimestampType(argumentTypes.get(1))) {
throw new SemanticException(
String.format(
"Second argument of Aggregate functions [%s] should be orderable", functionName));
@@ -1163,7 +1198,8 @@ public class TableMetadataImpl implements Metadata {
"Aggregate functions [%s] should only have two arguments", functionName));
}
- if (argumentTypes.size() == 2 && !isSupportedMathNumericType(argumentTypes.get(1))) {
+ if (argumentTypes.size() == 2
+ && !CommonMetadataUtils.isSupportedMathNumericType(argumentTypes.get(1))) {
throw new SemanticException(
String.format(
"Second argument of Aggregate functions [%s] should be numberic type and do not use expression",
@@ -1187,7 +1223,7 @@ public class TableMetadataImpl implements Metadata {
}
Type valueColumnType = argumentTypes.get(0);
- if (!isNumericType(valueColumnType)) {
+ if (!CommonMetadataUtils.isNumericType(valueColumnType)) {
throw new SemanticException(
String.format(
"Aggregation functions [%s] should have value column as numeric type [INT32, INT64, FLOAT, DOUBLE, TIMESTAMP]",
@@ -1195,7 +1231,7 @@ public class TableMetadataImpl implements Metadata {
}
Type percentageType = argumentTypes.get(argumentSize - 1);
- if (!isDecimalType(percentageType)) {
+ if (!CommonMetadataUtils.isDecimalType(percentageType)) {
throw new SemanticException(
String.format(
"Aggregation functions [%s] should have percentage as decimal type",
@@ -1203,7 +1239,7 @@ public class TableMetadataImpl implements Metadata {
}
if (argumentSize == 3) {
Type weightType = argumentTypes.get(1);
- if (!INT32.equals(weightType) && !isUnknownType(weightType)) {
+ if (!INT32.equals(weightType) && !CommonMetadataUtils.isUnknownType(weightType)) {
throw new SemanticException(
String.format(
"Aggregation functions [%s] do not support weight as %s type",
@@ -1262,7 +1298,8 @@ public class TableMetadataImpl implements Metadata {
}
break;
case SqlConstant.NTH_VALUE:
- if (argumentTypes.size() != 2 || !isIntegerNumber(argumentTypes.get(1))) {
+ if (argumentTypes.size() != 2
+ || !CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1))) {
throw new SemanticException(
"Window function [nth_value] should only have two argument, and second argument must be integer type");
}
@@ -1280,7 +1317,8 @@ public class TableMetadataImpl implements Metadata {
String.format(
"Window function [%s] should only have one to three argument", functionName));
}
- if (argumentTypes.size() >= 2 && !isIntegerNumber(argumentTypes.get(1))) {
+ if (argumentTypes.size() >= 2
+ && !CommonMetadataUtils.isIntegerNumber(argumentTypes.get(1))) {
throw new SemanticException(
String.format(
"Window function [%s]'s second argument must be integer type", functionName));
@@ -1489,150 +1527,4 @@ public class TableMetadataImpl implements Metadata {
throw new SemanticException("Unknown function: " + functionName);
}
}
-
- public static boolean isTwoNumericType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 2
- && isNumericType(argumentTypes.get(0))
- && isNumericType(argumentTypes.get(1));
- }
-
- public static boolean isOneNumericType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 1 && isNumericType(argumentTypes.get(0));
- }
-
- public static boolean isTwoSupportedMathNumericType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 2
- && isSupportedMathNumericType(argumentTypes.get(0))
- && isSupportedMathNumericType(argumentTypes.get(1));
- }
-
- public static boolean isOneSupportedMathNumericType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 1 && isSupportedMathNumericType(argumentTypes.get(0));
- }
-
- public static boolean isOneBooleanType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 1 && BOOLEAN.equals(argumentTypes.get(0));
- }
-
- public static boolean isOneCharType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 1 && isCharType(argumentTypes.get(0));
- }
-
- public static boolean isTwoCharType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 2
- && isCharType(argumentTypes.get(0))
- && isCharType(argumentTypes.get(1));
- }
-
- public static boolean isThreeCharType(List<? extends Type> argumentTypes) {
- return argumentTypes.size() == 3
- && isCharType(argumentTypes.get(0))
- && isCharType(argumentTypes.get(1))
- && isCharType(argumentTypes.get(2));
- }
-
- public static boolean isCharType(Type type) {
- return TEXT.equals(type) || StringType.STRING.equals(type);
- }
-
- public static boolean isObjectType(Type type) {
- return ObjectType.OBJECT.equals(type);
- }
-
- public static boolean isBlobType(Type type) {
- return BLOB.equals(type);
- }
-
- public static boolean isBool(Type type) {
- return BOOLEAN.equals(type);
- }
-
- public static boolean isDecimalType(Type type) {
- return DOUBLE.equals(type) || FLOAT.equals(type);
- }
-
- public static boolean isSupportedMathNumericType(Type type) {
- return DOUBLE.equals(type) || FLOAT.equals(type) || INT32.equals(type) || INT64.equals(type);
- }
-
- public static boolean isNumericType(Type type) {
- return DOUBLE.equals(type)
- || FLOAT.equals(type)
- || INT32.equals(type)
- || INT64.equals(type)
- || TIMESTAMP.equals(type);
- }
-
- public static boolean isTimestampType(Type type) {
- return TIMESTAMP.equals(type);
- }
-
- public static boolean isUnknownType(Type type) {
- return UNKNOWN.equals(type);
- }
-
- public static boolean isIntegerNumber(Type type) {
- return INT32.equals(type) || INT64.equals(type);
- }
-
- public static boolean isTwoTypeComparable(List<? extends Type> argumentTypes) {
- if (argumentTypes.size() != 2) {
- return false;
- }
- Type left = argumentTypes.get(0);
- Type right = argumentTypes.get(1);
- if (left.equals(right)) {
- return true;
- }
-
- // Boolean type and Binary Type can not be compared with other types
- return (isNumericType(left) && isNumericType(right))
- || (isCharType(left) && isCharType(right))
- || (isUnknownType(left) && (isNumericType(right) || isCharType(right)))
- || ((isNumericType(left) || isCharType(left)) && isUnknownType(right));
- }
-
- public static boolean areAllTypesSameAndComparable(List<? extends Type> argumentTypes) {
- if (argumentTypes == null || argumentTypes.isEmpty()) {
- return true;
- }
- Type firstType = argumentTypes.get(0);
- if (!firstType.isComparable()) {
- return false;
- }
- return argumentTypes.stream().allMatch(type -> type.equals(firstType));
- }
-
- public static boolean isArithmeticType(Type type) {
- return INT32.equals(type)
- || INT64.equals(type)
- || FLOAT.equals(type)
- || DOUBLE.equals(type)
- || DATE.equals(type)
- || TIMESTAMP.equals(type);
- }
-
- public static boolean isTwoTypeCalculable(List<? extends Type> argumentTypes) {
- if (argumentTypes.size() != 2) {
- return false;
- }
- Type left = argumentTypes.get(0);
- Type right = argumentTypes.get(1);
- if ((isUnknownType(left) && isArithmeticType(right))
- || (isUnknownType(right) && isArithmeticType(left))) {
- return true;
- }
- return isArithmeticType(left) && isArithmeticType(right);
- }
-
- public static void throwTableNotExistsException(final String database, final String tableName) {
- throw new SemanticException(new TableNotExistsException(database, tableName));
- }
-
- public static void throwColumnNotExistsException(final Object columnName) {
- throw new SemanticException(
- new IoTDBException(
- String.format("Column '%s' cannot be resolved.", columnName),
- TSStatusCode.COLUMN_NOT_EXISTS.getStatusCode()));
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
index 688d7ec168a..1a8a6e2fab4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.commons.schema.table.column.TimeColumnSchema;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.db.auth.AuthorityChecker;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.load.LoadAnalyzeTableColumnDisorderException;
import org.apache.iotdb.db.exception.sql.ColumnCreationFailException;
@@ -46,7 +47,6 @@ import org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational
import org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.CreateTableTask;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
@@ -136,7 +136,7 @@ public class TableHeaderSchemaValidator {
"auto create table succeed, but cannot get table schema in current node's DataNodeTableCache, may be caused by concurrently auto creating table");
}
} else {
- TableMetadataImpl.throwTableNotExistsException(database, tableSchema.getTableName());
+ CommonMetadataUtils.throwTableNotExistsException(database, tableSchema.getTableName());
}
} else {
DataNodeTreeViewSchemaUtils.checkTableInWrite(database, table);
@@ -376,7 +376,7 @@ public class TableHeaderSchemaValidator {
"auto create table succeed, but cannot get table schema in current node's DataNodeTableCache, may be caused by concurrently auto creating table");
}
} else {
- TableMetadataImpl.throwTableNotExistsException(database, measurementInfo.getTableName());
+ CommonMetadataUtils.throwTableNotExistsException(database, measurementInfo.getTableName());
}
} else {
DataNodeTreeViewSchemaUtils.checkTableInWrite(database, table);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
index 72ba654cb76..dc4c105512c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CastFunctionUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.relational.analyzer.NodeRef;
@@ -49,7 +50,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpres
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.DeterminismEvaluator;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
@@ -77,12 +77,12 @@ import static com.google.common.base.Verify.verify;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.Iterables.getOnlyElement;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.ExtractTransformer.constructEvaluateFunction;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression.Sign.MINUS;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression.Sign.PLUS;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.DeterminismEvaluator.isDeterministic;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.isEffectivelyLiteral;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.ExtractTransformer.constructEvaluateFunction;
public class IrExpressionInterpreter {
@@ -910,7 +910,7 @@ public class IrExpressionInterpreter {
}
try {
- return CastFunctionHelper.cast(value, sourceType, targetType, session);
+ return CastFunctionUtils.cast(value, sourceType, targetType, session);
} catch (RuntimeException e) {
if (node.isSafe()) {
return null;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
index f61f9a838c5..f98a73853f4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
@@ -44,10 +44,10 @@ import java.util.List;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBlobType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isBool;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isCharType;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBool;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
import static org.apache.tsfile.read.common.type.FloatType.FLOAT;
import static org.apache.tsfile.read.common.type.IntType.INT32;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
index 23fa5c3571e..8e7bce99516 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
@@ -101,6 +101,7 @@ import static com.google.common.collect.ImmutableMap.toImmutableMap;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static java.lang.String.format;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isNumericType;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder.ASC_NULLS_LAST;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.groupingSets;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleAggregation;
@@ -111,7 +112,6 @@ import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFra
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.RANGE;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.ROWS;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isNumericType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingTranslator.sortItemToSortOrder;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.PlanBuilder.newPlanBuilder;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ScopeAware.scopeAwareKey;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
index 700f2b30932..ccb5cad7f8c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
import org.apache.iotdb.commons.schema.table.TreeViewSchema;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.utils.TestOnly;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
@@ -58,7 +59,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.execution.querystats.Plan
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.PredicateWithUncorrelatedScalarSubqueryReconstructor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CopyToNode;
@@ -279,7 +279,7 @@ public class TableLogicalPlanner {
QualifiedObjectName targetTable = createQualifiedObjectName(sessionInfo, table.getName());
Optional<TableSchema> tableSchema = metadata.getTableSchema(sessionInfo, targetTable);
if (!tableSchema.isPresent()) {
- TableMetadataImpl.throwTableNotExistsException(
+ CommonMetadataUtils.throwTableNotExistsException(
targetTable.getDatabaseName(), targetTable.getObjectName());
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GapFillStartAndEndTimeExtractVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GapFillStartAndEndTimeExtractVisitor.java
index e95e54bc013..a4db05cd6a3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GapFillStartAndEndTimeExtractVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GapFillStartAndEndTimeExtractVisitor.java
@@ -34,13 +34,13 @@ import javax.annotation.Nullable;
import java.time.ZoneId;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.dateBin;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.GREATER_THAN;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.GREATER_THAN_OR_EQUAL;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.LESS_THAN;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.LESS_THAN_OR_EQUAL;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression.Operator.AND;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression.Operator.OR;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.dateBin;
public class GapFillStartAndEndTimeExtractVisitor
extends AstVisitor<Boolean, GapFillStartAndEndTimeExtractVisitor.Context> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
index 8c7fc61a66d..89ed4ac2ec8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
@@ -46,6 +46,7 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
@@ -56,7 +57,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.extractCardinality;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.LongType.INT64;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
index 185c0925528..888f3f51e81 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
@@ -24,6 +24,8 @@ import org.apache.iotdb.commons.schema.column.ColumnHeader;
import org.apache.iotdb.commons.schema.filter.SchemaFilter;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -39,8 +41,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanner;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.rescon.MemSchemaRegionStatistics;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareEqualToTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareEqualToTransformer.java
index 9ae12add71c..373633018da 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareEqualToTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareEqualToTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -43,7 +43,8 @@ public class CompareEqualToTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
== 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
index 218a82c7f30..bf94ee265d0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -43,7 +43,8 @@ public class CompareGreaterEqualTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
>= 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
index a25560965c1..5954ca2604d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -44,7 +44,8 @@ public class CompareGreaterThanTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
> 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessEqualTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
index 9f2783c6d44..af7b185e738 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -43,7 +43,8 @@ public class CompareLessEqualTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
<= 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessThanTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessThanTransformer.java
index ceebcb33265..9f31319c42c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessThanTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareLessThanTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -44,7 +44,8 @@ public class CompareLessThanTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
< 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareNonEqualTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
index 2bcd252d163..a04e2c9557f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.binary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.write.UnSupportedDataTypeException;
@@ -45,7 +45,8 @@ public class CompareNonEqualTransformer extends CompareBinaryTransformer {
@Override
protected Evaluator constructTextEvaluator() {
return (Column leftValues, int leftIndex, Column rightValues, int rightIndex) ->
- TransformUtils.compare(leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
+ CommonTransformUtils.compare(
+ leftValues.getBinary(leftIndex), rightValues.getBinary(rightIndex))
!= 0;
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/ternary/BetweenTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/ternary/BetweenTransformer.java
index 1102976bf73..1d9d790a5d0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/ternary/BetweenTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/ternary/BetweenTransformer.java
@@ -21,8 +21,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.ternary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CommonTransformUtils;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
-import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
import org.apache.tsfile.block.column.Column;
@@ -68,10 +68,10 @@ public class BetweenTransformer extends CompareTernaryTransformer {
int secondIndex,
Column thirdValues,
int thirdIndex) ->
- ((TransformUtils.compare(
+ ((CommonTransformUtils.compare(
firstValues.getBinary(firstIndex), secondValues.getBinary(secondIndex))
>= 0)
- && (TransformUtils.compare(
+ && (CommonTransformUtils.compare(
firstValues.getBinary(firstIndex), thirdValues.getBinary(thirdIndex))
<= 0))
^ isNotBetween;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/CastFunctionTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/CastFunctionTransformer.java
index 195acb6de85..afb34902007 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/CastFunctionTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/CastFunctionTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.CastFunctionUtils;
import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.UnaryTransformer;
@@ -168,7 +168,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new IntColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeInt(CastFunctionHelper.castLongToInt(values[i]));
+ builder.writeInt(CastFunctionUtils.castLongToInt(values[i]));
} else {
builder.appendNull();
}
@@ -244,7 +244,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new IntColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeInt(CastFunctionHelper.castFloatToInt(values[i]));
+ builder.writeInt(CastFunctionUtils.castFloatToInt(values[i]));
} else {
builder.appendNull();
}
@@ -254,7 +254,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new LongColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeLong(CastFunctionHelper.castFloatToLong(values[i]));
+ builder.writeLong(CastFunctionUtils.castFloatToLong(values[i]));
} else {
builder.appendNull();
}
@@ -320,7 +320,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new IntColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeInt(CastFunctionHelper.castDoubleToInt(values[i]));
+ builder.writeInt(CastFunctionUtils.castDoubleToInt(values[i]));
} else {
builder.appendNull();
}
@@ -330,7 +330,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new LongColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeLong(CastFunctionHelper.castDoubleToLong(values[i]));
+ builder.writeLong(CastFunctionUtils.castDoubleToLong(values[i]));
} else {
builder.appendNull();
}
@@ -340,7 +340,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
builder = new FloatColumnBuilder(null, count);
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
- builder.writeFloat(CastFunctionHelper.castDoubleToFloat(values[i]));
+ builder.writeFloat(CastFunctionUtils.castDoubleToFloat(values[i]));
} else {
builder.appendNull();
}
@@ -495,7 +495,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
String str = values[i].getStringValue(TSFileConfig.STRING_CHARSET);
- builder.writeFloat(CastFunctionHelper.castTextToFloat(str));
+ builder.writeFloat(CastFunctionUtils.castTextToFloat(str));
} else {
builder.appendNull();
}
@@ -506,7 +506,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
String str = values[i].getStringValue(TSFileConfig.STRING_CHARSET);
- builder.writeDouble(CastFunctionHelper.castTextToDouble(str));
+ builder.writeDouble(CastFunctionUtils.castTextToDouble(str));
} else {
builder.appendNull();
}
@@ -517,7 +517,7 @@ public class CastFunctionTransformer extends UnaryTransformer {
for (int i = 0; i < count; i++) {
if (!isNulls[i]) {
String str = values[i].getStringValue(TSFileConfig.STRING_CHARSET);
- builder.writeBoolean(CastFunctionHelper.castTextToBoolean(str));
+ builder.writeBoolean(CastFunctionUtils.castTextToBoolean(str));
} else {
builder.appendNull();
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionColumnTransformer.java
index 3ea2cbbce2a..238e8b79b09 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionColumnTransformer.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionTransformer.java
index 71312657ce4..08b9af8a987 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/transformer/unary/scalar/SubStringFunctionTransformer.java
@@ -30,7 +30,7 @@ import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.BytesUtils;
import org.apache.tsfile.write.UnSupportedDataTypeException;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.SubStringColumnTransformer.EMPTY_STRING;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.SubStringColumnTransformer.EMPTY_STRING;
public class SubStringFunctionTransformer extends UnaryTransformer {
private int beginPosition;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/TransformUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/TransformUtils.java
index 015904399c2..2e1eba2fb29 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/TransformUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/util/TransformUtils.java
@@ -44,14 +44,6 @@ public class TransformUtils {
throw new IllegalStateException("TransformUtils should not be instantiated.");
}
- public static int compare(Binary first, Binary second) {
- if (Objects.requireNonNull(first) == Objects.requireNonNull(second)) {
- return 0;
- }
-
- return first.compareTo(second);
- }
-
public static Column transformConstantOperandToColumn(ConstantOperand constantOperand) {
Objects.requireNonNull(constantOperand);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
index e69cb524d7f..82bbf304651 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
@@ -37,6 +37,8 @@ import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
import org.apache.iotdb.commons.utils.FileUtils;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.consensus.ConsensusFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
@@ -70,8 +72,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.Table
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceAttributeUpdateNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableNodeLocationAddNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DeleteDevice;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.metric.ISchemaRegionMetric;
import org.apache.iotdb.db.schemaengine.metric.SchemaRegionMemMetric;
import org.apache.iotdb.db.schemaengine.rescon.DataNodeSchemaQuotaManager;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java
index 64fa5f34ac4..5f58024ea1f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/table/DataNodeTableCache.java
@@ -25,9 +25,9 @@ import org.apache.iotdb.commons.schema.table.TsTableInternalRPCUtil;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.confignode.rpc.thrift.TFetchTableResp;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.queryengine.plan.execution.config.executor.ClusterConfigTaskExecutor;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.utils.Pair;
@@ -334,7 +334,7 @@ public class DataNodeTableCache implements ITableCache {
}
final TsTable table = getTableInCache(database, tableName);
if (Objects.isNull(table) && force) {
- TableMetadataImpl.throwTableNotExistsException(database, tableName);
+ CommonMetadataUtils.throwTableNotExistsException(database, tableName);
}
return table;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 9e23f3c6970..906a4692749 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -49,6 +49,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TTableInfo;
import org.apache.iotdb.consensus.ConsensusFactory;
import org.apache.iotdb.consensus.iot.IoTConsensus;
import org.apache.iotdb.consensus.iot.IoTConsensusServerImpl;
+import org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.consensus.DataRegionConsensusImpl;
@@ -87,7 +88,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertRowsNo
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertRowsOfOneDeviceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertTabletNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalDeleteDataNode;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.LastCacheLoadStrategy;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceSchemaCache;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TreeDeviceSchemaCacheManager;
@@ -1637,7 +1637,7 @@ public class DataRegion implements IDataRegionForQuery {
.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) {
resp = client.describeTable(getDatabaseName(), tableName, false);
if (resp == null || resp.tableInfo == null) {
- TableMetadataImpl.throwTableNotExistsException(getDatabaseName(), tableName);
+ CommonMetadataUtils.throwTableNotExistsException(getDatabaseName(), tableName);
}
// For table schema from ConfigNode, we cannot get version info,
// so we don't cache it to avoid version mismatch
@@ -1649,7 +1649,7 @@ public class DataRegion implements IDataRegionForQuery {
logger.error(
"Remote request config node failed that judgment if table is exist, occur exception. {}",
e.getMessage());
- TableMetadataImpl.throwTableNotExistsException(getDatabaseName(), tableName);
+ CommonMetadataUtils.throwTableNotExistsException(getDatabaseName(), tableName);
return null; // unreachable, throwTableNotExistsException always throws
}
} else {
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
index 39eaf7d6be3..2e7dfb726d2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java
@@ -25,6 +25,11 @@ import org.apache.iotdb.commons.path.AlignedFullPath;
import org.apache.iotdb.commons.path.IFullPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.NonAlignedFullPath;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticAdditionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.ConstantColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.TimeColumnTransformer;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
@@ -82,11 +87,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationSt
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.SeriesScanOptions;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticAdditionColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.ConstantColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.TimeColumnTransformer;
import com.google.common.collect.Sets;
import org.apache.tsfile.common.conf.TSFileDescriptor;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TSBSMetadata.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TSBSMetadata.java
index 8d2faf4afc5..2d4f50c3ee2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TSBSMetadata.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TSBSMetadata.java
@@ -66,6 +66,9 @@ import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isOneNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoTypeComparable;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSDataPartition.T1_DEVICE_1;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSDataPartition.T1_DEVICE_2;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSDataPartition.T1_DEVICE_3;
@@ -73,9 +76,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSD
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSDataPartition.T2_DEVICE_2;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTSBSDataPartition.T2_DEVICE_3;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.getFunctionType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isOneNumericType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoNumericType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
import static org.apache.tsfile.read.common.type.BinaryType.TEXT;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMetadata.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMetadata.java
index e78ff3bb11c..bbcbfd169af 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMetadata.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/TestMetadata.java
@@ -84,6 +84,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import static org.apache.iotdb.commons.schema.table.InformationSchema.INFORMATION_DATABASE;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isOneNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoNumericType;
+import static org.apache.iotdb.db.calc_commons.plan.relational.metadata.CommonMetadataUtils.isTwoTypeComparable;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTableModelDataPartition.DEVICE_1;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTableModelDataPartition.DEVICE_1_ATTRIBUTES;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTableModelDataPartition.DEVICE_2;
@@ -97,9 +100,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTable
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTableModelDataPartition.DEVICE_6;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.MockTableModelDataPartition.DEVICE_6_ATTRIBUTES;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.getFunctionType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isOneNumericType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoNumericType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
import static org.apache.tsfile.read.common.type.LongType.INT64;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAndCompareBinaryColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAndCompareBinaryColumnTransformerTest.java
index a6d3003e5b0..d1f7eff55fb 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAndCompareBinaryColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/ArithmeticAndCompareBinaryColumnTransformerTest.java
@@ -19,7 +19,18 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticAdditionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticDivisionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticModuloColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticMultiplicationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.ArithmeticSubtractionColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareEqualToColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareGreaterThanColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareLessEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.CompareNonEqualColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformerTest.java
index 7e66638f09f..9c98aa7e84a 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/LogicBinaryColumnTransformerTest.java
@@ -19,7 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.BinaryColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LogicAndColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.LogicOrColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacMd5ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacMd5ColumnTransformerTest.java
index ba6afb33c5a..8a4880b8cbf 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacMd5ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacMd5ColumnTransformerTest.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.hmac;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.HmacColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.HmacColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha1ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha1ColumnTransformerTest.java
index e80367f52b9..7cfb33382d4 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha1ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha1ColumnTransformerTest.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.hmac;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.HmacColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.HmacColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha256ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha256ColumnTransformerTest.java
index 73792cabdb9..edee703f326 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha256ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha256ColumnTransformerTest.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.hmac;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.HmacColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.HmacColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha512ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha512ColumnTransformerTest.java
index f88604ecaea..2892e44caca 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha512ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/hmac/HmacSha512ColumnTransformerTest.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.binary.hmac;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.HmacColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.factory.HmacStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.binary.strategies.HmacStrategy;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.HmacColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.factory.HmacStrategiesFactory;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.strategies.HmacStrategy;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.HmacConstantKeyColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformerTest.java
index 6640ef79ed1..00dc6177615 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/LpadColumnTransformerTest.java
@@ -18,8 +18,9 @@
*/
package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.LpadColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformerTest.java
index 955aa4905b9..6657aa2237b 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/RpadColumnTransformerTest.java
@@ -18,8 +18,9 @@
*/
package org.apache.iotdb.db.queryengine.transformation.dag.column.ternary;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ternary.RpadColumnTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformerTest.java
index 3d9904d764e..19f730a2308 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformerTest.java
@@ -19,7 +19,14 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.IdentityColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.ArithmeticNegationColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.InColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.IsNullColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LikeColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.LogicNotColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.RegularColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.UnaryColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformerTest.java
index 7fbbd6da2fa..e15369f69c2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/BlobLengthColumnTransformerTest.java
@@ -19,7 +19,8 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BlobLengthColumnTransformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java
index db271fdb9a3..28bab41ff3a 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java
@@ -27,7 +27,7 @@ import java.text.SimpleDateFormat;
import java.time.ZoneId;
import java.util.TimeZone;
-import static org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.dateBin;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DateBinFunctionColumnTransformer.dateBin;
import static org.junit.Assert.assertEquals;
public class DateBinFunctionTest {
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian32ColumnTransformerTest.java
index c4c625e6a5f..30ca862f159 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian32ColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian64ColumnTransformerTest.java
index bb3b0165ff0..63af69cd782 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromBigEndian64ColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_32BigEndianColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_32BigEndianColumnTransformerTest.java
index e493bc2deda..3ea565b9a57 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_32BigEndianColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_32BigEndianColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToFloatColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToFloatColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_64BigEndianColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_64BigEndianColumnTransformerTest.java
index b764d1d696a..6601c096b4d 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_64BigEndianColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromIEEE754_64BigEndianColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToDoubleColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToDoubleColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian32ColumnTransformerTest.java
index f6240e3e1d4..2c5fc2ee8a2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian32ColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToIntColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian64ColumnTransformerTest.java
index 6e3cefa5483..c9ce05d2f6f 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/FromLittleEndian64ColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.BytesToLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian32ColumnTransformerTest.java
index e84fd6d2ff8..b5bd899959b 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian32ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.IntColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian64ColumnTransformerTest.java
index 27c4839aaf0..2b45838b668 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToBigEndian64ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.LongColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_32BigEndianColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_32BigEndianColumnTransformerTest.java
index 835013fde4f..f63511da804 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_32BigEndianColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_32BigEndianColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.FloatToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.FloatToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.FloatColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_64BigEndianColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_64BigEndianColumnTransformerTest.java
index aa70494031a..2b1a7cecfb3 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_64BigEndianColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToIEEE754_64BigEndianColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.DoubleToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.DoubleToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.DoubleColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian32ColumnTransformerTest.java
index 2465a3d81d0..b5fff8ac9fa 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian32ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.IntToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.IntColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian64ColumnTransformerTest.java
index 941df132808..d2c62f13f20 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/IntegerEncoding/ToLittleEndian64ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.IntegerEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.LongToBytesColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.NumericCodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.LongColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReverseColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReverseColumnTransformerTest.java
index 3c3695f32d2..e6d487dffda 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReverseColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReverseColumnTransformerTest.java
@@ -19,8 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase32ColumnTransformerTest.java
index 78197d3d03c..73bd2facfaa 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase32ColumnTransformerTest.java
@@ -21,10 +21,10 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base32Encoding;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.io.BaseEncoding;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64ColumnTransformerTest.java
index 16e795273ff..c678025c2c7 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64ColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64UrlColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64UrlColumnTransformerTest.java
index 535d222cd4b..cd21a3e1505 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64UrlColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/FromBase64UrlColumnTransformerTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase32ColumnTransformerTest.java
index f89cf121f6c..cccfea51c24 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase32ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base32Encoding;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.io.BaseEncoding;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64ColumnTransformerTest.java
index 04eae176abf..c1079d82fe0 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64UrlColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64UrlColumnTransformerTest.java
index db79311f311..bb7b4c2cde1 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64UrlColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/base64Encoding/ToBase64UrlColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.base64Encoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Crc32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Crc32ColumnTransformerTest.java
index 78cf7dace0b..e4779542bee 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Crc32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Crc32ColumnTransformerTest.java
@@ -21,8 +21,8 @@
// Note: The actual package may vary, adjust if CRC32Transformer is in a different location.
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.CRC32Transformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.CRC32Transformer;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Md5ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Md5ColumnTransformerTest.java
index ac357616e36..133277a3e63 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Md5ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Md5ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.hash.Hashing;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Murmur3ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Murmur3ColumnTransformerTest.java
index d4d7d675a26..9e5d0affbd9 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Murmur3ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Murmur3ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.hash.Hashing;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha1ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha1ColumnTransformerTest.java
index c74f13e8916..2656de1d2c6 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha1ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha1ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.hash.Hashing;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha256ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha256ColumnTransformerTest.java
index c0e177d7743..3140c2c59b5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha256ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha256ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.hash.Hashing;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha512ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha512ColumnTransformerTest.java
index 9b65799b908..8102d3f9e16 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha512ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/Sha512ColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.hash.Hashing;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_32ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_32ColumnTransformerTest.java
index eabf81d1ddb..7e4f4d22552 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_32ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_32ColumnTransformerTest.java
@@ -19,9 +19,9 @@ package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.h
* under the License.
*/
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_64ColumnTransformerTest.java
index aa374a9031d..eaf470e8d63 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/SpookyHashV2_64ColumnTransformerTest.java
@@ -19,9 +19,9 @@ package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.h
* under the License.
*/
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.column.BinaryColumn;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/XxHash64ColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/XxHash64ColumnTransformerTest.java
index ab00d0105aa..f20bdee8765 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/XxHash64ColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hashing/XxHash64ColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hashing;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import net.jpountz.xxhash.XXHash64;
import net.jpountz.xxhash.XXHashFactory;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/FromHexColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/FromHexColumnTransformerTest.java
index ac885515eca..1b2745ab53b 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/FromHexColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/FromHexColumnTransformerTest.java
@@ -21,9 +21,9 @@
// package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.string;
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hexEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.common.conf.TSFileConfig;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/ToHexColumnTransformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/ToHexColumnTransformerTest.java
index b95ffe32b08..9ea7a4432bf 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/ToHexColumnTransformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/hexEncoding/ToHexColumnTransformerTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.hexEncoding;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.GenericCodecColumnTransformer;
+import org.apache.iotdb.db.calc_commons.transformation.dag.column.unary.scalar.factory.CodecStrategiesFactory;
import com.google.common.io.BaseEncoding;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtilsTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtilsTest.java
index 04a611f07c4..2d26a1f231f 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtilsTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/util/BitwiseUtilsTest.java
@@ -19,19 +19,20 @@
package org.apache.iotdb.db.queryengine.transformation.dag.util;
+import org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.junit.Assert;
import org.junit.Test;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitCountCheck;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseAndTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseLeftShiftTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseNotTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseOrTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseRightShiftArithmeticTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseRightShiftTransform;
-import static org.apache.iotdb.db.queryengine.transformation.dag.util.BitwiseUtils.bitwiseXorTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitCountCheck;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseAndTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseLeftShiftTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseNotTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseOrTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseRightShiftArithmeticTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseRightShiftTransform;
+import static org.apache.iotdb.db.calc_commons.transformation.dag.util.BitwiseUtils.bitwiseXorTransform;
public class BitwiseUtilsTest {
@Test