[enhancement](exchange) add filter for exchange node in BE (#21087)

This commit is contained in:
zhangstar333
2023-06-22 01:04:47 +08:00
committed by GitHub
parent b192082b62
commit a33521b2ce

View File

@ -31,6 +31,7 @@
#include "util/telemetry/telemetry.h"
#include "vec/core/block.h"
#include "vec/core/column_with_type_and_name.h"
#include "vec/exprs/vexpr_context.h"
#include "vec/runtime/vdata_stream_mgr.h"
#include "vec/runtime/vdata_stream_recvr.h"
@ -104,6 +105,7 @@ Status VExchangeNode::get_next(RuntimeState* state, Block* block, bool* eos) {
return Status::OK();
}
auto status = _stream_recvr->get_next(block, eos);
RETURN_IF_ERROR(VExprContext::filter_block(_conjuncts, block, block->columns()));
// In vsortrunmerger, it will set eos=true, and block not empty
// so that eos==true, could not make sure that block not have valid data
if (!*eos || block->rows() > 0) {