[fix](vectorized) Support outer join for vectorized exec engine (#10323)
In a vectorized scenario, the query plan will generate a new tuple for the join node. This tuple mainly describes the output schema of the join node. Adding this tuple mainly solves the problem that the input schema of the join node is different from the output schema. For example: 1. The case where the null side column caused by outer join is converted to nullable. 2. The projection of the outer tuple.
This commit is contained in:
@ -464,4 +464,11 @@ ColumnPtr make_nullable(const ColumnPtr& column, bool is_nullable) {
|
||||
return ColumnNullable::create(column, ColumnUInt8::create(column->size(), is_nullable ? 1 : 0));
|
||||
}
|
||||
|
||||
ColumnPtr remove_nullable(const ColumnPtr& column) {
|
||||
if (is_column_nullable(*column)) {
|
||||
return reinterpret_cast<const ColumnNullable*>(column.get())->get_nested_column_ptr();
|
||||
}
|
||||
return column;
|
||||
}
|
||||
|
||||
} // namespace doris::vectorized
|
||||
|
||||
Reference in New Issue
Block a user