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