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

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

commit cee7d7af04e6656b01167f84799f7eba954a547f
Author: Steve Yurong Su <[email protected]>
AuthorDate: Mon Aug 19 17:59:13 2024 +0800

    Revert "stash"
    
    This reverts commit 4c6bcc1d8a9b3c90f1d77bf90f5d8e98c8d3df50.
---
 .../converter/TsFileToTabletConverter.java         | 940 ---------------------
 ...peStatementDataTypeConvertExecutionVisitor.java |  10 -
 2 files changed, 950 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/converter/TsFileToTabletConverter.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/converter/TsFileToTabletConverter.java
deleted file mode 100644
index d2dcf5a61b9..00000000000
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/converter/TsFileToTabletConverter.java
+++ /dev/null
@@ -1,940 +0,0 @@
-/*
- * 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
- *
- *     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.pipe.receiver.transform.converter;
-
-import org.apache.tsfile.enums.TSDataType;
-import org.apache.tsfile.utils.Binary;
-
-public class TsFileToTabletConverter {
-
-  @FunctionalInterface
-  private interface Converter {
-    Object convert(
-        final TSDataType sourceDataType,
-        final TSDataType targetDataType,
-        final Object sourceValues);
-  }
-
-  private static final Converter[][] CONVERTER =
-      new Converter[TSDataType.values().length][TSDataType.values().length];
-
-  private static final Converter DO_NOTHING_CONVERTER =
-      (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-
-  static {
-    for (final TSDataType sourceDataType : TSDataType.values()) {
-      for (final TSDataType targetDataType : TSDataType.values()) {
-        CONVERTER[sourceDataType.ordinal()][targetDataType.ordinal()] = 
DO_NOTHING_CONVERTER;
-      }
-    }
-
-    // BOOLEAN
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final int[] intValues = new int[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            intValues[i] = ValueConverter.convertBooleanToInt32(boolValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final long[] longValues = new long[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            longValues[i] = 
ValueConverter.convertBooleanToInt64(boolValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final float[] floatValues = new float[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            floatValues[i] = 
ValueConverter.convertBooleanToFloat(boolValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final double[] doubleValues = new double[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertBooleanToDouble(boolValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final Binary[] textValues = new Binary[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            textValues[i] = ValueConverter.convertBooleanToText(boolValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final long[] timestampValues = new long[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertBooleanToTimestamp(boolValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final int[] dateValues = new int[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            dateValues[i] = ValueConverter.convertBooleanToDate(boolValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final Binary[] blobValues = new Binary[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            blobValues[i] = ValueConverter.convertBooleanToBlob(boolValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.BOOLEAN.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final boolean[] boolValues = (boolean[]) sourceValues;
-          final Binary[] stringValues = new Binary[boolValues.length];
-          for (int i = 0; i < boolValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertBooleanToString(boolValues[i]);
-          }
-          return stringValues;
-        };
-
-    // INT32
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final boolean[] boolValues = new boolean[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            boolValues[i] = ValueConverter.convertInt32ToBoolean(intValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final long[] longValues = new long[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            longValues[i] = ValueConverter.convertInt32ToInt64(intValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final float[] floatValues = new float[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            floatValues[i] = ValueConverter.convertInt32ToFloat(intValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final double[] doubleValues = new double[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertInt32ToDouble(intValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final Binary[] textValues = new Binary[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            textValues[i] = ValueConverter.convertInt32ToText(intValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final long[] timestampValues = new long[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertInt32ToTimestamp(intValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final int[] dateValues = new int[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            dateValues[i] = ValueConverter.convertInt32ToDate(intValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final Binary[] blobValues = new Binary[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            blobValues[i] = ValueConverter.convertInt32ToBlob(intValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.INT32.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] intValues = (int[]) sourceValues;
-          final Binary[] stringValues = new Binary[intValues.length];
-          for (int i = 0; i < intValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertInt32ToString(intValues[i]);
-          }
-          return stringValues;
-        };
-
-    // INT64
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final boolean[] boolValues = new boolean[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            boolValues[i] = 
ValueConverter.convertInt64ToBoolean(longValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final int[] intValues = new int[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            intValues[i] = ValueConverter.convertInt64ToInt32(longValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final float[] floatValues = new float[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            floatValues[i] = ValueConverter.convertInt64ToFloat(longValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final double[] doubleValues = new double[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertInt64ToDouble(longValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final Binary[] textValues = new Binary[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            textValues[i] = ValueConverter.convertInt64ToText(longValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final long[] timestampValues = new long[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertInt64ToTimestamp(longValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final int[] dateValues = new int[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            dateValues[i] = ValueConverter.convertInt64ToDate(longValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final Binary[] blobValues = new Binary[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            blobValues[i] = ValueConverter.convertInt64ToBlob(longValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.INT64.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] longValues = (long[]) sourceValues;
-          final Binary[] stringValues = new Binary[longValues.length];
-          for (int i = 0; i < longValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertInt64ToString(longValues[i]);
-          }
-          return stringValues;
-        };
-
-    // FLOAT
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final boolean[] boolValues = new boolean[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            boolValues[i] = 
ValueConverter.convertFloatToBoolean(floatValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final int[] intValues = new int[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            intValues[i] = ValueConverter.convertFloatToInt32(floatValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final long[] longValues = new long[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            longValues[i] = ValueConverter.convertFloatToInt64(floatValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final double[] doubleValues = new double[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertFloatToDouble(floatValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final Binary[] textValues = new Binary[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            textValues[i] = ValueConverter.convertFloatToText(floatValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final long[] timestampValues = new long[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertFloatToTimestamp(floatValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final int[] dateValues = new int[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            dateValues[i] = ValueConverter.convertFloatToDate(floatValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final Binary[] blobValues = new Binary[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            blobValues[i] = ValueConverter.convertFloatToBlob(floatValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.FLOAT.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final float[] floatValues = (float[]) sourceValues;
-          final Binary[] stringValues = new Binary[floatValues.length];
-          for (int i = 0; i < floatValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertFloatToString(floatValues[i]);
-          }
-          return stringValues;
-        };
-
-    // DOUBLE
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final boolean[] boolValues = new boolean[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            boolValues[i] = 
ValueConverter.convertDoubleToBoolean(doubleValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final int[] intValues = new int[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            intValues[i] = 
ValueConverter.convertDoubleToInt32(doubleValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final long[] longValues = new long[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            longValues[i] = 
ValueConverter.convertDoubleToInt64(doubleValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final float[] floatValues = new float[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            floatValues[i] = 
ValueConverter.convertDoubleToFloat(doubleValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final Binary[] textValues = new Binary[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            textValues[i] = 
ValueConverter.convertDoubleToText(doubleValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final long[] timestampValues = new long[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertDoubleToTimestamp(doubleValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final int[] dateValues = new int[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            dateValues[i] = 
ValueConverter.convertDoubleToDate(doubleValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final Binary[] blobValues = new Binary[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            blobValues[i] = 
ValueConverter.convertDoubleToBlob(doubleValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.DOUBLE.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final double[] doubleValues = (double[]) sourceValues;
-          final Binary[] stringValues = new Binary[doubleValues.length];
-          for (int i = 0; i < doubleValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertDoubleToString(doubleValues[i]);
-          }
-          return stringValues;
-        };
-
-    // TEXT
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final boolean[] boolValues = new boolean[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            boolValues[i] = ValueConverter.convertTextToBoolean(textValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final int[] intValues = new int[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            intValues[i] = ValueConverter.convertTextToInt32(textValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final long[] longValues = new long[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            longValues[i] = ValueConverter.convertTextToInt64(textValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final float[] floatValues = new float[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            floatValues[i] = ValueConverter.convertTextToFloat(textValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final double[] doubleValues = new double[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertTextToDouble(textValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final long[] timestampValues = new long[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertTextToTimestamp(textValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final int[] dateValues = new int[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            dateValues[i] = ValueConverter.convertTextToDate(textValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final Binary[] blobValues = new Binary[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            blobValues[i] = ValueConverter.convertTextToBlob(textValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.TEXT.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] textValues = (Binary[]) sourceValues;
-          final Binary[] stringValues = new Binary[textValues.length];
-          for (int i = 0; i < textValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertTextToString(textValues[i]);
-          }
-          return stringValues;
-        };
-
-    // VECTOR
-    for (int i = 0; i < TSDataType.values().length; i++) {
-      CONVERTER[TSDataType.VECTOR.ordinal()][i] = DO_NOTHING_CONVERTER;
-    }
-
-    // UNKNOWN
-    for (int i = 0; i < TSDataType.values().length; i++) {
-      CONVERTER[TSDataType.UNKNOWN.ordinal()][i] = DO_NOTHING_CONVERTER;
-    }
-
-    // TIMESTAMP
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final boolean[] boolValues = new boolean[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            boolValues[i] = 
ValueConverter.convertTimestampToBoolean(timestampValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final int[] intValues = new int[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            intValues[i] = 
ValueConverter.convertTimestampToInt32(timestampValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final long[] longValues = new long[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            longValues[i] = 
ValueConverter.convertTimestampToInt64(timestampValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final float[] floatValues = new float[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            floatValues[i] = 
ValueConverter.convertTimestampToFloat(timestampValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final double[] doubleValues = new double[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertTimestampToDouble(timestampValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final Binary[] textValues = new Binary[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            textValues[i] = 
ValueConverter.convertTimestampToText(timestampValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final int[] dateValues = new int[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            dateValues[i] = 
ValueConverter.convertTimestampToDate(timestampValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final Binary[] blobValues = new Binary[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            blobValues[i] = 
ValueConverter.convertTimestampToBlob(timestampValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.TIMESTAMP.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final long[] timestampValues = (long[]) sourceValues;
-          final Binary[] stringValues = new Binary[timestampValues.length];
-          for (int i = 0; i < timestampValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertTimestampToString(timestampValues[i]);
-          }
-          return stringValues;
-        };
-
-    // DATE
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final boolean[] boolValues = new boolean[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            boolValues[i] = ValueConverter.convertDateToBoolean(dateValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final int[] intValues = new int[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            intValues[i] = ValueConverter.convertDateToInt32(dateValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final long[] longValues = new long[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            longValues[i] = ValueConverter.convertDateToInt64(dateValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final float[] floatValues = new float[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            floatValues[i] = ValueConverter.convertDateToFloat(dateValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final double[] doubleValues = new double[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertDateToDouble(dateValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final Binary[] textValues = new Binary[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            textValues[i] = ValueConverter.convertDateToText(dateValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final long[] timestampValues = new long[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertDateToTimestamp(dateValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final Binary[] blobValues = new Binary[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            blobValues[i] = ValueConverter.convertDateToBlob(dateValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.DATE.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final int[] dateValues = (int[]) sourceValues;
-          final Binary[] stringValues = new Binary[dateValues.length];
-          for (int i = 0; i < dateValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertDateToString(dateValues[i]);
-          }
-          return stringValues;
-        };
-
-    // BLOB
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final boolean[] boolValues = new boolean[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            boolValues[i] = ValueConverter.convertBlobToBoolean(blobValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final int[] intValues = new int[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            intValues[i] = ValueConverter.convertBlobToInt32(blobValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final long[] longValues = new long[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            longValues[i] = ValueConverter.convertBlobToInt64(blobValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final float[] floatValues = new float[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            floatValues[i] = ValueConverter.convertBlobToFloat(blobValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final double[] doubleValues = new double[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertBlobToDouble(blobValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final Binary[] textValues = new Binary[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            textValues[i] = ValueConverter.convertBlobToText(blobValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final long[] timestampValues = new long[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertBlobToTimestamp(blobValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final int[] dateValues = new int[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            dateValues[i] = ValueConverter.convertBlobToDate(blobValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-    CONVERTER[TSDataType.BLOB.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] blobValues = (Binary[]) sourceValues;
-          final Binary[] stringValues = new Binary[blobValues.length];
-          for (int i = 0; i < blobValues.length; i++) {
-            stringValues[i] = 
ValueConverter.convertBlobToString(blobValues[i]);
-          }
-          return stringValues;
-        };
-
-    // STRING
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.BOOLEAN.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final boolean[] boolValues = new boolean[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            boolValues[i] = 
ValueConverter.convertStringToBoolean(stringValues[i]);
-          }
-          return boolValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.INT32.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final int[] intValues = new int[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            intValues[i] = 
ValueConverter.convertStringToInt32(stringValues[i]);
-          }
-          return intValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.INT64.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final long[] longValues = new long[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            longValues[i] = 
ValueConverter.convertStringToInt64(stringValues[i]);
-          }
-          return longValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.FLOAT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final float[] floatValues = new float[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            floatValues[i] = 
ValueConverter.convertStringToFloat(stringValues[i]);
-          }
-          return floatValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.DOUBLE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final double[] doubleValues = new double[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            doubleValues[i] = 
ValueConverter.convertStringToDouble(stringValues[i]);
-          }
-          return doubleValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.TEXT.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final Binary[] textValues = new Binary[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            textValues[i] = 
ValueConverter.convertStringToText(stringValues[i]);
-          }
-          return textValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.VECTOR.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.UNKNOWN.ordinal()] = 
DO_NOTHING_CONVERTER;
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.TIMESTAMP.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final long[] timestampValues = new long[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            timestampValues[i] = 
ValueConverter.convertStringToTimestamp(stringValues[i]);
-          }
-          return timestampValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.DATE.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final int[] dateValues = new int[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            dateValues[i] = 
ValueConverter.convertStringToDate(stringValues[i]);
-          }
-          return dateValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.BLOB.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> {
-          final Binary[] stringValues = (Binary[]) sourceValues;
-          final Binary[] blobValues = new Binary[stringValues.length];
-          for (int i = 0; i < stringValues.length; i++) {
-            blobValues[i] = 
ValueConverter.convertStringToBlob(stringValues[i]);
-          }
-          return blobValues;
-        };
-    CONVERTER[TSDataType.STRING.ordinal()][TSDataType.STRING.ordinal()] =
-        (sourceDataType, targetDataType, sourceValues) -> sourceValues;
-  }
-
-  public static Object convert(
-      final TSDataType sourceDataType, final TSDataType targetDataType, final 
Object sourceValues) {
-    return sourceValues == null
-        ? null
-        : 
CONVERTER[sourceDataType.ordinal()][targetDataType.ordinal()].convert(
-            sourceDataType, targetDataType, sourceValues);
-  }
-
-  private TsFileToTabletConverter() {
-    // forbidden to construct
-  }
-}
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementDataTypeConvertExecutionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementDataTypeConvertExecutionVisitor.java
index 3d94941b326..69f456552f7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementDataTypeConvertExecutionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementDataTypeConvertExecutionVisitor.java
@@ -19,10 +19,8 @@
 
 package org.apache.iotdb.db.pipe.receiver.visitor;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.exception.metadata.DataTypeMismatchException;
-import 
org.apache.iotdb.db.pipe.event.common.tsfile.container.TsFileInsertionDataContainer;
 import 
org.apache.iotdb.db.pipe.receiver.transform.statement.PipeConvertedInsertRowStatement;
 import 
org.apache.iotdb.db.pipe.receiver.transform.statement.PipeConvertedInsertTabletStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -82,14 +80,6 @@ public class PipeStatementDataTypeConvertExecutionVisitor
       final LoadTsFileStatement loadTsFileStatement, final TSStatus status) {
     // TODO: judge if the exception is caused by data type mismatch
     // TODO: convert the data type of the statement
-    // Pipe enriched / paras in loadTsFileStatement
-
-    if (loadTsFileStatement.isDeleteAfterLoad()) {
-      loadTsFileStatement.getTsFiles().forEach(FileUtils::deleteQuietly);
-    }
-
-    TsFileInsertionDataContainer
-
     return visitStatement(loadTsFileStatement, status);
   }
 

Reply via email to