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

yuyuankang pushed a commit to branch kyy2
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/kyy2 by this push:
     new 8c8b628  get data type from insert tablet plan
8c8b628 is described below

commit 8c8b62838a67b57ff46573cd0e4fc001fdaa4c09
Author: Ring-k <[email protected]>
AuthorDate: Tue Jul 14 23:20:36 2020 +0800

    get data type from insert tablet plan
---
 .../apache/iotdb/cluster/server/member/MetaGroupMember.java    | 10 ++++++----
 .../main/java/org/apache/iotdb/tsfile/write/record/Tablet.java |  6 +++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index 4778508..6c2cb04 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.cluster.server.member;
 
+import java.lang.reflect.Array;
 import java.net.SocketTimeoutException;
 import org.apache.iotdb.cluster.ClusterFileFlushPolicy;
 import org.apache.iotdb.cluster.client.async.AsyncClientPool;
@@ -1487,7 +1488,7 @@ public class MetaGroupMember extends RaftMember {
         status = forwardToMultipleGroup(planGroupMap);
       }
     }
-    if (plan instanceof InsertRowPlan
+    if (plan instanceof InsertPlan
         && status.getCode() == 
TSStatusCode.TIMESERIES_NOT_EXIST.getStatusCode()
         && 
ClusterDescriptor.getInstance().getConfig().isEnableAutoCreateSchema()) {
       // try to create timeseries
@@ -1652,9 +1653,10 @@ public class MetaGroupMember extends RaftMember {
     List<String> unregisteredSeriesList = 
getUnregisteredSeriesList(seriesList, partitionGroup);
     for (String seriesPath : unregisteredSeriesList) {
       int index = seriesList.indexOf(seriesPath);
-      TSDataType dataType = TypeInferenceUtils
-          .getPredictedDataType(insertPlan instanceof InsertTabletPlan
-              ? ((Object[]) ((InsertTabletPlan) 
insertPlan).getColumns()[index])[0]
+      TSDataType dataType = insertPlan.getDataTypes() != null
+          ? insertPlan.getDataTypes()[index]
+          : TypeInferenceUtils.getPredictedDataType(insertPlan instanceof 
InsertTabletPlan
+              ? Array.get(((InsertTabletPlan) insertPlan).getColumns()[index], 
0)
               : ((InsertRowPlan) insertPlan).getValues()[index], true);
       TSEncoding encoding = getDefaultEncoding(dataType);
       CompressionType compressionType = 
TSFileDescriptor.getInstance().getConfig().getCompressor();
diff --git 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/record/Tablet.java 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/record/Tablet.java
index 1ead641..2121db3 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/record/Tablet.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/record/Tablet.java
@@ -74,10 +74,10 @@ public class Tablet {
    * constructor (all Tablet should be the same size).
    *
    * @param deviceId   the name of the device specified to be written in
-   * @param timeseries the list of measurement schemas for creating the tablet
+   * @param schemas the list of measurement schemas for creating the tablet
    */
-  public Tablet(String deviceId, List<MeasurementSchema> timeseries) {
-    this(deviceId, timeseries, DEFAULT_SIZE);
+  public Tablet(String deviceId, List<MeasurementSchema> schemas) {
+    this(deviceId, schemas, DEFAULT_SIZE);
   }
 
   /**

Reply via email to