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

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


The following commit(s) were added to refs/heads/master by this push:
     new fe967b122e8 [IOTDB-5937] Fix wrong measurement check when using view 
to import csv (#10276)
fe967b122e8 is described below

commit fe967b122e8ef3beaca29c91656950ad32e54e89
Author: Marcos_Zyk <[email protected]>
AuthorDate: Fri Jun 23 17:42:45 2023 +0800

    [IOTDB-5937] Fix wrong measurement check when using view to import csv 
(#10276)
---
 .../crud/InsertMultiTabletsStatement.java          | 32 ----------------------
 .../crud/InsertRowsOfOneDeviceStatement.java       |  1 -
 .../plan/statement/crud/InsertRowsStatement.java   | 32 ----------------------
 3 files changed, 65 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertMultiTabletsStatement.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertMultiTabletsStatement.java
index d7c7cebad25..a43bfc7afef 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertMultiTabletsStatement.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertMultiTabletsStatement.java
@@ -20,8 +20,6 @@
 package org.apache.iotdb.db.mpp.plan.statement.crud;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.exception.metadata.DuplicateInsertException;
-import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.schema.ISchemaValidation;
 import org.apache.iotdb.db.mpp.plan.statement.StatementType;
 import org.apache.iotdb.db.mpp.plan.statement.StatementVisitor;
@@ -29,11 +27,7 @@ import 
org.apache.iotdb.tsfile.exception.NotImplementedException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 public class InsertMultiTabletsStatement extends InsertBaseStatement {
@@ -144,34 +138,8 @@ public class InsertMultiTabletsStatement extends 
InsertBaseStatement {
     if (!needSplit) {
       return this;
     }
-    validateInsertTabletList(mergedList);
     InsertMultiTabletsStatement splitResult = new 
InsertMultiTabletsStatement();
     splitResult.setInsertTabletStatementList(mergedList);
     return splitResult;
   }
-
-  /**
-   * Check given InsertRowStatement list, make sure no duplicate time series 
in those statements. If
-   * there are duplicate measurements, throw DuplicateInsertException.
-   */
-  public static void validateInsertTabletList(List<InsertTabletStatement> 
insertTabletList) {
-    if (insertTabletList == null) {
-      return;
-    }
-    Map<String, Set<String>> mapFromDeviceToMeasurements = new HashMap<>();
-    for (InsertTabletStatement insertTablet : insertTabletList) {
-      String device = insertTablet.devicePath.getFullPath();
-      Set<String> measurementSet = mapFromDeviceToMeasurements.get(device);
-      if (measurementSet == null) {
-        measurementSet = new HashSet<>();
-      }
-      for (String measurement : insertTablet.measurements) {
-        boolean notExist = measurementSet.add(measurement);
-        if (!notExist) {
-          throw new SemanticException(new DuplicateInsertException(device, 
measurement));
-        }
-      }
-      mapFromDeviceToMeasurements.put(device, measurementSet);
-    }
-  }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsOfOneDeviceStatement.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsOfOneDeviceStatement.java
index 4fc20487422..a65c68eb331 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsOfOneDeviceStatement.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsOfOneDeviceStatement.java
@@ -151,7 +151,6 @@ public class InsertRowsOfOneDeviceStatement extends 
InsertBaseStatement {
         List<InsertRowStatement> childSplitResult = child.getSplitList();
         mergedList.addAll(childSplitResult);
       }
-      InsertRowsStatement.validateInsertRowList(mergedList);
       InsertRowsStatement splitResult = new InsertRowsStatement();
       splitResult.setInsertRowStatementList(mergedList);
       return splitResult;
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsStatement.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsStatement.java
index 50d31b2c43a..8528c64c307 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsStatement.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/InsertRowsStatement.java
@@ -20,9 +20,7 @@
 package org.apache.iotdb.db.mpp.plan.statement.crud;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.exception.metadata.DuplicateInsertException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.schema.ISchemaValidation;
 import org.apache.iotdb.db.mpp.plan.statement.StatementType;
 import org.apache.iotdb.db.mpp.plan.statement.StatementVisitor;
@@ -30,11 +28,7 @@ import 
org.apache.iotdb.tsfile.exception.NotImplementedException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 public class InsertRowsStatement extends InsertBaseStatement {
@@ -155,34 +149,8 @@ public class InsertRowsStatement extends 
InsertBaseStatement {
     if (!needSplit) {
       return this;
     }
-    validateInsertRowList(mergedList);
     InsertRowsStatement splitResult = new InsertRowsStatement();
     splitResult.setInsertRowStatementList(mergedList);
     return splitResult;
   }
-
-  /**
-   * Check given InsertRowStatement list, make sure no duplicate time series 
in those statements. If
-   * there are duplicate measurements, throw DuplicateInsertException.
-   */
-  public static void validateInsertRowList(List<InsertRowStatement> 
insertRowList) {
-    if (insertRowList == null) {
-      return;
-    }
-    Map<String, Set<String>> mapFromDeviceToMeasurements = new HashMap<>();
-    for (InsertRowStatement insertRow : insertRowList) {
-      String device = insertRow.devicePath.getFullPath();
-      Set<String> measurementSet = mapFromDeviceToMeasurements.get(device);
-      if (measurementSet == null) {
-        measurementSet = new HashSet<>();
-      }
-      for (String measurement : insertRow.measurements) {
-        boolean notExist = measurementSet.add(measurement);
-        if (!notExist) {
-          throw new SemanticException(new DuplicateInsertException(device, 
measurement));
-        }
-      }
-      mapFromDeviceToMeasurements.put(device, measurementSet);
-    }
-  }
 }

Reply via email to