neuyilan commented on a change in pull request #2698:
URL: https://github.com/apache/iotdb/pull/2698#discussion_r579615383
##########
File path:
server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
##########
@@ -1097,6 +1101,27 @@ public void insert(InsertRowsOfOneDevicePlan
insertRowsOfOneDevicePlan)
}
}
+ @Override
+ public void insert(InsertRowsPlan plan) throws QueryProcessException {
+ boolean allSuccess = true;
+ for (int i = 0; i < plan.getInsertRowPlanList().size(); i++) {
+ if (plan.getResults().containsKey(i)) {
+ allSuccess = false;
+ continue;
+ }
+ try {
+ insert(plan.getInsertRowPlanList().get(i));
+ plan.getResults().put(i,
RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS));
+ } catch (QueryProcessException e) {
+ plan.getResults().put(i, RpcUtils.getStatus(e.getErrorCode(),
e.getMessage()));
+ allSuccess = false;
+ }
+ if (!allSuccess) {
Review comment:
Thanks for your review, in my opinion, I support inserting the remaining
records in case of one record insertion failure. After all, we support partial
insertion success. Moreover, this implementation is consistent with the
previous semantics of composing each record into an InsertRowPlan.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]