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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0e2d838  remove redundant type change
0e2d838 is described below

commit 0e2d8387e7da6b27f86114f1acb0b5a8d8a21b1f
Author: mychaow <[email protected]>
AuthorDate: Wed Jul 1 15:46:20 2020 +0800

    remove redundant type change
---
 .../org/apache/iotdb/db/metadata/MManager.java     | 58 ++--------------------
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  4 +-
 2 files changed, 4 insertions(+), 58 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java 
b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
index b62773e..57eb238 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
@@ -1841,12 +1841,12 @@ public class MManager {
    * @return
    * @throws MetadataException
    */
-  public MeasurementSchema[] getSeriesSchemas(String deviceId, String[] 
measurementList, PhysicalPlan plan) throws MetadataException {
+  public MeasurementSchema[] getSeriesSchemasAndLock(String deviceId, String[] 
measurementList, PhysicalPlan plan) throws MetadataException {
     MeasurementSchema[] schemas = new 
MeasurementSchema[measurementList.length];
 
     MNode deviceNode;
     // 1. get device node
-    deviceNode = getDeviceNode(deviceId);
+    deviceNode = getDeviceNodeWithAutoCreateAndReadLock(deviceId);
 
     // 2. get schema of each measurement
     for (int i = 0; i < measurementList.length; i++) {
@@ -1902,11 +1902,6 @@ public class MManager {
           }
         }
 
-        // maybe need to convert value type to the true type
-        if ((plan instanceof InsertRowPlan) && ((InsertRowPlan) 
plan).isNeedInferType()) {
-          changeStringValueToRealType((InsertRowPlan) plan, i, 
measurementNode.getSchema().getType());
-        }
-
         schemas[i] = measurementNode.getSchema();
         if (schemas[i] != null) {
           measurementList[i] = schemas[i].getMeasurementId();
@@ -1927,44 +1922,6 @@ public class MManager {
     return schemas;
   }
 
-  private void changeStringValueToRealType(InsertRowPlan plan, int loc, 
TSDataType type) throws MetadataException {
-    plan.getDataTypes()[loc] = type;
-    try {
-      switch (type) {
-        case INT32:
-          plan.getValues()[loc] =
-            Integer.parseInt(String.valueOf(plan.getValues()[loc]));
-          break;
-        case INT64:
-          plan.getValues()[loc] =
-              Long.parseLong(String.valueOf(plan.getValues()[loc]));
-          break;
-        case DOUBLE:
-          plan.getValues()[loc] =
-              Double.parseDouble(String.valueOf(plan.getValues()[loc]));
-          break;
-        case FLOAT:
-          plan.getValues()[loc] =
-              Float.parseFloat(String.valueOf(plan.getValues()[loc]));
-          break;
-        case BOOLEAN:
-          plan.getValues()[loc] =
-              Boolean.parseBoolean(String.valueOf(plan.getValues()[loc]));
-          break;
-        case TEXT:
-          plan.getValues()[loc] =
-              Binary.valueOf(String.valueOf(plan.getValues()[loc]));
-          break;
-      }
-    } catch (ClassCastException e) {
-      logger.error("inconsistent type between client and server for " + 
e.getMessage() + " " + type);
-      throw new MetadataException(e.getMessage());
-    } catch (NumberFormatException e) {
-      logger.error("inconsistent type between type {} and value {}", type, 
plan.getValues()[loc]);
-      throw new MetadataException(e.getMessage());
-    }
-  }
-
   /**
    * Get default encoding by dataType
    */
@@ -2013,21 +1970,12 @@ public class MManager {
 
   /**
    * when insert, we lock device node for not create deleted time series
-   * before insert, we should call this function to lock the device node
-   * @param deviceId
-   */
-  public void lockInsert(String deviceId) throws MetadataException {
-    getDeviceNodeWithAutoCreateAndReadLock(deviceId);
-  }
-
-  /**
-   * when insert, we lock device node for not create deleted time series
    * after insert, we should call this function to unlock the device node
    * @param deviceId
    */
   public void unlockInsert(String deviceId) {
     try {
-      MNode mNode =getDeviceNode(deviceId);
+      MNode mNode = getDeviceNode(deviceId);
       mNode.readUnlock();
     } catch (MetadataException e) {
       // ignore the exception
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index ce32a50..a283744 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -867,13 +867,12 @@ public class PlanExecutor implements IPlanExecutor {
 
   protected MeasurementSchema[] getSeriesSchemas(InsertPlan insertPlan)
     throws MetadataException {
-    return mManager.getSeriesSchemas(insertPlan.getDeviceId(), 
insertPlan.getMeasurements(), insertPlan);
+    return mManager.getSeriesSchemasAndLock(insertPlan.getDeviceId(), 
insertPlan.getMeasurements(), insertPlan);
   }
 
   @Override
   public void insert(InsertRowPlan insertRowPlan) throws QueryProcessException 
{
     try {
-      mManager.lockInsert(insertRowPlan.getDeviceId());
       MeasurementSchema[] schemas = getSeriesSchemas(insertRowPlan);
       insertRowPlan.setSchemasAndTransferType(schemas);
       StorageEngine.getInstance().insert(insertRowPlan);
@@ -891,7 +890,6 @@ public class PlanExecutor implements IPlanExecutor {
   @Override
   public void insertTablet(InsertTabletPlan insertTabletPlan) throws 
QueryProcessException {
     try {
-      mManager.lockInsert(insertTabletPlan.getDeviceId());
       MeasurementSchema[] schemas = getSeriesSchemas(insertTabletPlan);
       insertTabletPlan.setSchemas(schemas);
       StorageEngine.getInstance().insertTablet(insertTabletPlan);

Reply via email to