You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/05/20 18:55:35 UTC

[iotdb] 04/05: move builtin

This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6a35bad799b0393ad45b407cba7edfd42759036d
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 02:05:00 2022 +0800

    move builtin
---
 .../IoTDBSyntaxConventionStringLiteralIT.java      |  2 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |  2 +-
 .../api/customizer/config/UDTFConfigurations.java  |  2 +-
 .../api/customizer/parameter/UDFParameters.java    |  2 +-
 .../api/customizer/strategy/AccessStrategy.java    |  2 +-
 .../strategy/RowByRowAccessStrategy.java           |  2 +-
 .../strategy/SlidingSizeWindowAccessStrategy.java  |  2 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |  2 +-
 .../commons}/udf/builtin/BuiltinFunction.java      |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFAbs.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAcos.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAsin.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAtan.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFBottomK.java    | 25 ++++++++++++++++---
 .../iotdb/commons}/udf/builtin/UDTFCast.java       | 24 ++++++------------
 .../iotdb/commons}/udf/builtin/UDTFCeil.java       |  2 +-
 .../commons}/udf/builtin/UDTFCommonDerivative.java |  2 +-
 .../udf/builtin/UDTFCommonValueDifference.java     |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConst.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConstE.java     |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConstPi.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFContains.java   |  2 +-
 .../udf/builtin/UDTFContinuouslySatisfy.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFCos.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFCosh.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFDegrees.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFDerivative.java |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketM4Sample.java   |  2 +-
 .../builtin/UDTFEqualSizeBucketOutlierSample.java  |  2 +-
 .../builtin/UDTFEqualSizeBucketRandomSample.java   |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFExp.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFFloor.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFInRange.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFJexl.java       | 29 ++++++++--------------
 .../apache/iotdb/commons}/udf/builtin/UDTFLog.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFLog10.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFMatches.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFMath.java       |  2 +-
 .../udf/builtin/UDTFNonNegativeDerivative.java     |  2 +-
 .../builtin/UDTFNonNegativeValueDifference.java    |  2 +-
 .../commons}/udf/builtin/UDTFNonZeroCount.java     |  2 +-
 .../commons}/udf/builtin/UDTFNonZeroDuration.java  |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFOnOff.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFRadians.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFRound.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSelectK.java    |  5 ++--
 .../iotdb/commons}/udf/builtin/UDTFSign.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFSin.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSinh.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSqrt.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFTan.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFTanh.java       |  2 +-
 .../commons}/udf/builtin/UDTFTimeDifference.java   |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFTopK.java       |  2 +-
 .../commons}/udf/builtin/UDTFValueDifference.java  |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFValueTrend.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFZeroCount.java  |  2 +-
 .../commons}/udf/builtin/UDTFZeroDuration.java     |  2 +-
 .../query/expression/multi/FunctionExpression.java |  2 +-
 .../query/udf/core/executor/UDTFTypeInferrer.java  |  2 +-
 .../udf/core/layer/ConstantIntermediateLayer.java  |  4 +--
 .../db/query/udf/core/layer/IntermediateLayer.java |  4 +--
 .../layer/MultiInputColumnIntermediateLayer.java   |  6 ++---
 ...InputColumnMultiReferenceIntermediateLayer.java |  4 +--
 ...nputColumnSingleReferenceIntermediateLayer.java |  4 +--
 .../db/query/udf/core/reader/LayerRowReader.java   |  2 +-
 .../udf/core/reader/LayerRowWindowReader.java      |  2 +-
 .../tv/ElasticSerializableTVList.java              |  2 +-
 .../query/udf/service/UDFRegistrationService.java  |  4 +--
 71 files changed, 116 insertions(+), 115 deletions(-)

diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
index de3eba8a91..957c967453 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.db.integration;
 
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.integration.env.EnvFactory;
 import org.apache.iotdb.itbase.category.ClusterTest;
 import org.apache.iotdb.itbase.category.LocalStandaloneTest;
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
index 4ad46aa1f5..84c1920805 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
@@ -20,8 +20,8 @@
 package org.apache.iotdb.db.integration;
 
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
index 7446e7fee3..51985352cb 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.config;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
-import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
index 2ca74b7e96..65de587a88 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.commons.udf.api.customizer.parameter;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.List;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
index 3e4d5c82b5..15ff92910b 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used to customize the strategy for accessing raw data in {@link UDTF#beforeStart(UDFParameters,
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
index fc76d55227..7880af5528 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
index 3491363338..c534a81fe5 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
index c69160dd79..4eab05ca35 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 import java.time.ZoneId;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
index bf1b7031e8..ed8bc85d33 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 /** All built-in UDFs need to register their function names and classes here. */
 public enum BuiltinFunction {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
index 12df6fef94..8de5c909ac 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
index dbcd5b5c98..1491c239dd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAcos extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
index 7e375da6f5..f83394a7c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAsin extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
index 8f03ae84ae..e36a04ea48 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAtan extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
similarity index 82%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
index 54a911c953..dcc692f842 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
@@ -17,15 +17,14 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
-import org.apache.commons.collections4.ComparatorUtils;
-
 import java.util.Comparator;
+import java.util.Objects;
 import java.util.PriorityQueue;
 
 public class UDTFBottomK extends UDTFSelectK {
@@ -48,7 +47,25 @@ public class UDTFBottomK extends UDTFSelectK {
       case TEXT:
         stringPQ =
             new PriorityQueue<>(
-                k, ComparatorUtils.reversedComparator(Comparator.comparing(o -> o.right)));
+                k,
+                (pairA, pairB) -> {
+                  final String cs1 = pairB.right;
+                  final String cs2 = pairA.right;
+
+                  if (Objects.requireNonNull(cs1) == Objects.requireNonNull(cs2)) {
+                    return 0;
+                  }
+
+                  for (int i = 0, len = Math.min(cs1.length(), cs2.length()); i < len; i++) {
+                    final char a = cs1.charAt(i);
+                    final char b = cs2.charAt(i);
+                    if (a != b) {
+                      return a - b;
+                    }
+                  }
+
+                  return cs1.length() - cs2.length();
+                });
         break;
       default:
         // This will not happen.
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
index 6befaf4c79..ca57453072 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -58,8 +57,7 @@ public class UDTFCast implements UDTF {
   }
 
   @Override
-  public void transform(Row row, PointCollector collector)
-      throws IOException, QueryProcessException {
+  public void transform(Row row, PointCollector collector) throws IOException {
     switch (sourceDataType) {
       case INT32:
         cast(row.getTime(), row.getInt(0), collector);
@@ -84,8 +82,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, int value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, int value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, value);
@@ -110,8 +107,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, long value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, long value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -136,8 +132,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, float value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, float value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -162,8 +157,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, double value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, double value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -188,8 +182,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, boolean value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, boolean value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, value ? 1 : 0);
@@ -214,8 +207,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, Binary value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, Binary value, PointCollector collector) throws IOException {
     String stringValue = value.getStringValue();
     switch (targetDataType) {
       case INT32:
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
index 76b49b4adf..a4ba41c8b0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCeil extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
index 52be553133..4e3684a02a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
index d5d955259c..6a16a5173f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
index 739c562676..63849e2b0c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
index d509f7c14e..c6d831de69 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
index 22b66e123f..30d158b8d6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
index 0f52719b85..a9b0fd10c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
index 5b158f3fe8..70d9d5480a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
index 0bfe2459fa..777494050f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCos extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
index 01289d8f88..028d727d82 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCosh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
index 712278a46f..bfff41e1c0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFDegrees extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
index 8df279bc77..f2308fd728 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
index e78dafbdc0..1c26191dfa 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
index c4990b8ff3..0e8859e7f1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
index 286049f7a3..ff33170fc0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
index 5adce14911..e156b1622c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
index 336f2de527..447c38d9b7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
index e0e16ef7b8..f86c226919 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFExp extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
index 92b6063fb4..b9e392df3b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFFloor extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
index 476a440e4a..fd2820b9c2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
index 502a614eba..04cabac29e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -120,7 +119,7 @@ public class UDTFJexl implements UDTF {
 
   // 23, 23L, 23f, 23d, "string", true are hard codes for probing
   private HashMap<TSDataType, Object> initialMap() {
-    HashMap<TSDataType, Object> map = new HashMap<TSDataType, Object>();
+    HashMap<TSDataType, Object> map = new HashMap<>();
     map.put(TSDataType.INT32, 23);
     map.put(TSDataType.INT64, 23L);
     map.put(TSDataType.FLOAT, 23f);
@@ -153,7 +152,7 @@ public class UDTFJexl implements UDTF {
 
   @Override
   public void transform(Row row, PointCollector collector)
-      throws IOException, UDFOutputSeriesDataTypeNotValidException, QueryProcessException,
+      throws IOException, UDFOutputSeriesDataTypeNotValidException,
           UDFInputSeriesDataTypeNotValidException {
     switch (outputDataType) {
       case DOUBLE:
@@ -176,7 +175,7 @@ public class UDTFJexl implements UDTF {
         throws IOException, UDFInputSeriesDataTypeNotValidException;
 
     void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException, UDFInputSeriesDataTypeNotValidException;
+        throws IOException, UDFInputSeriesDataTypeNotValidException;
 
     void evaluateBoolean(Row row, PointCollector collector)
         throws IOException, UDFInputSeriesDataTypeNotValidException;
@@ -190,8 +189,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getInt(0)));
     }
 
@@ -209,8 +207,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getLong(0)));
     }
 
@@ -228,8 +225,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getFloat(0)));
     }
 
@@ -247,8 +243,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getDouble(0)));
     }
 
@@ -266,8 +261,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getString(0)));
     }
 
@@ -285,8 +279,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getBoolean(0)));
     }
 
@@ -309,7 +302,7 @@ public class UDTFJexl implements UDTF {
 
     @Override
     public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException, UDFInputSeriesDataTypeNotValidException {
+        throws IOException, UDFInputSeriesDataTypeNotValidException {
       getValues(row);
       collector.putString(row.getTime(), (String) script.execute(null, values));
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
index b968893654..7d0296fec0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFLog extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
index 80d3546bf0..68ae840015 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFLog10 extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
index f9841ca562..53301ad0ca 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
index d52be03c42..3e0b42fc46 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
index 94986497eb..0666249735 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
index 48348f5a4a..033d316210 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
index d777c69e16..f88dc376cf 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFNonZeroCount extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
index 145dc2a8b2..61407180c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFNonZeroDuration extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
index 09e5aaec44..f742225883 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
index 150ad0eb60..d866e1b013 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFRadians extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
index 6587f2ac3a..85adb5f437 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFRound extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
index e77ad44a69..fef9908d57 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -121,7 +120,7 @@ public abstract class UDTFSelectK implements UDTF {
 
   @Override
   public void terminate(PointCollector collector)
-      throws UDFInputSeriesDataTypeNotValidException, IOException, QueryProcessException {
+      throws UDFInputSeriesDataTypeNotValidException, IOException {
     switch (dataType) {
       case INT32:
         for (Pair<Long, Integer> pair :
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
index ea9318691d..633f55c6e6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSign extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
index 882daac719..d141a7c967 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSin extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
index 5403c3fbc5..b25cf132bf 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSinh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
index c246f6270d..9958998205 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSqrt extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
index b5f5bf9411..984c6d7607 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFTan extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
index 034cd67259..f9291d4aee 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFTanh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
index 962aa7a724..6b13904a55 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
index 5d05c860e2..266100b67d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
index 51aa8c103b..6c48eb7104 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
index 65fb3e4f68..d872df8762 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
index 3a7499d8eb..83add40462 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFZeroCount extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
index bacc1ed740..a0e40f25c3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFZeroDuration extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
index a7fb75f454..5c976f40c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.query.expression.multi;
 
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.sql.SemanticException;
@@ -32,7 +33,6 @@ import org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
 import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.expression.ExpressionType;
 import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFTypeInferrer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
index d39ed9b582..7f428202ef 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
@@ -20,11 +20,11 @@
 package org.apache.iotdb.db.query.udf.core.executor;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
index caf8416ec9..ec02f4fc01 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
 import org.apache.iotdb.db.query.udf.core.reader.ConstantLayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
index cfe04a91fa..72a571e9e7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
index 356cc2f9a7..8100d005c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnWindow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
index d3abea54e0..3c0676e0b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.layer.SafetyLine.SafetyPile;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
index 67645407fd..caf64cf7da 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.access.LayerPointReaderBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
index 07ce14f5e8..3c9dbff32b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.reader;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
index f31b0c4544..828e496122 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.reader;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
index bfb12e20c9..5cc5f42f49 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure.tv;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.datastructure.Cache;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
index 894eb013c2..6c890da7f2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.commons.exception.StartupException;
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.commons.service.IService;
 import org.apache.iotdb.commons.service.ServiceType;
+import org.apache.iotdb.commons.udf.api.UDF;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.UDFRegistrationException;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.commons.udf.api.UDF;
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 
 import org.apache.commons.io.FileUtils;