Skip to content

Commit 3a9124e

Browse files
committed
[fix](union) fix distribute exprs of union operator (apache#56449)
Union operator picks a wrong distribute expr now.
1 parent 3983fe0 commit 3a9124e

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

be/src/pipeline/exec/union_sink_operator.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,11 @@ UnionSinkOperatorX::UnionSinkOperatorX(int child_id, int sink_id, ObjectPool* po
5858
_row_descriptor(descs, tnode.row_tuples, tnode.nullable_tuples),
5959
_cur_child_id(child_id),
6060
_child_size(tnode.num_children),
61-
_distribute_exprs(tnode.__isset.distribute_expr_lists ? tnode.distribute_expr_lists[0]
62-
: std::vector<TExpr> {}) {}
61+
_distribute_exprs(tnode.__isset.distribute_expr_lists
62+
? tnode.distribute_expr_lists[child_id]
63+
: std::vector<TExpr> {}) {
64+
DCHECK(!tnode.__isset.distribute_expr_lists || tnode.distribute_expr_lists.size() > child_id);
65+
}
6366

6467
Status UnionSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) {
6568
RETURN_IF_ERROR(DataSinkOperatorX::init(tnode, state));

0 commit comments

Comments
 (0)