yiguolei commented on code in PR #22442:
URL: https://github.com/apache/doris/pull/22442#discussion_r1306798577
##########
be/src/olap/delete_handler.cpp:
##########
@@ -81,35 +89,69 @@ Status DeleteHandler::generate_delete_predicate(const
TabletSchema& schema,
LOG(INFO) << "store one sub-delete condition. condition name=" <<
in_pred->column_name()
<< "condition size=" << in_pred->values().size();
} else {
- string condition_str = construct_sub_predicates(condition);
- del_pred->add_sub_predicates(condition_str);
- LOG(INFO) << "store one sub-delete condition. condition=" <<
condition_str;
+ DeleteSubPredicatePB* sub_predicate =
del_pred->add_sub_predicates_v2();
+ if (condition.__isset.column_unique_id) {
+
sub_predicate->set_column_unique_id(condition.column_unique_id);
+ }
+ sub_predicate->set_column_name(condition.column_name);
+ sub_predicate->set_op(trans_op(condition.condition_op));
+ sub_predicate->set_cond_value(condition.condition_values[0]);
+
+ // write sub predicate v1 for compactbility
+ del_pred->add_sub_predicates(construct_sub_predicate(condition));
+ LOG(INFO) << "store one sub-delete condition. condition="
+ << fmt::format(" {} {} {}", condition.column_name,
condition.condition_op,
+ condition.condition_values[0]);
}
}
del_pred->set_version(-1);
return Status::OK();
}
-std::string DeleteHandler::construct_sub_predicates(const TCondition&
condition) {
Review Comment:
do not change this method. This method's return value is a condition
string. But your new method's return value is ConditionOp. I think you should
not change the original logic.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]