[refine](node) Remove the cse DCHECK from the constructor (#33856)
It's possible that a failure in the fe caused the check to fail, and at that moment, it may not be possible to retrieve the corresponding query ID from be.out.
This commit is contained in:
@ -90,10 +90,7 @@ ExecNode::ExecNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl
|
||||
descs, std::vector {tnode.output_tuple_id}, std::vector {true});
|
||||
}
|
||||
if (!tnode.intermediate_output_tuple_id_list.empty()) {
|
||||
DCHECK(tnode.__isset.output_tuple_id) << " no final output tuple id";
|
||||
// common subexpression elimination
|
||||
DCHECK_EQ(tnode.intermediate_output_tuple_id_list.size(),
|
||||
tnode.intermediate_projections_list.size());
|
||||
_intermediate_output_row_descriptor.reserve(tnode.intermediate_output_tuple_id_list.size());
|
||||
for (auto output_tuple_id : tnode.intermediate_output_tuple_id_list) {
|
||||
_intermediate_output_row_descriptor.push_back(
|
||||
@ -108,6 +105,19 @@ ExecNode::~ExecNode() = default;
|
||||
|
||||
Status ExecNode::init(const TPlanNode& tnode, RuntimeState* state) {
|
||||
init_runtime_profile(get_name());
|
||||
if (!tnode.intermediate_output_tuple_id_list.empty()) {
|
||||
if (!tnode.__isset.output_tuple_id) {
|
||||
return Status::InternalError("no final output tuple id");
|
||||
}
|
||||
if (tnode.intermediate_output_tuple_id_list.size() !=
|
||||
tnode.intermediate_projections_list.size()) {
|
||||
return Status::InternalError(
|
||||
"intermediate_output_tuple_id_list size:{} not match "
|
||||
"intermediate_projections_list size:{}",
|
||||
tnode.intermediate_output_tuple_id_list.size(),
|
||||
tnode.intermediate_projections_list.size());
|
||||
}
|
||||
}
|
||||
|
||||
if (tnode.__isset.vconjunct) {
|
||||
vectorized::VExprContextSPtr context;
|
||||
|
||||
Reference in New Issue
Block a user