[feature-wip](array-type) add function array_union/array_except/array_intersect (#10781)
Add array_union/array_except/array_intersect function.
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "vec/columns/column_array.h"
|
||||
#include "vec/columns/column_nullable.h"
|
||||
#include "vec/data_types/data_type_array.h"
|
||||
|
||||
namespace doris::vectorized {
|
||||
@ -39,6 +40,19 @@ public:
|
||||
const IColumn* nested_col = nullptr;
|
||||
};
|
||||
|
||||
struct ColumnArrayMutableData {
|
||||
public:
|
||||
MutableColumnPtr array_nested_col = nullptr;
|
||||
ColumnUInt8::Container* nested_nullmap_data = nullptr;
|
||||
MutableColumnPtr offsets_col = nullptr;
|
||||
ColumnArray::Offsets* offsets_ptr = nullptr;
|
||||
IColumn* nested_col = nullptr;
|
||||
};
|
||||
|
||||
bool extract_column_array_info(const IColumn& src, ColumnArrayExecutionData& data);
|
||||
|
||||
ColumnArrayMutableData create_mutable_data(const IColumn* nested_col, bool is_nullable);
|
||||
|
||||
MutableColumnPtr assemble_column_array(ColumnArrayMutableData& data);
|
||||
|
||||
} // namespace doris::vectorized
|
||||
|
||||
Reference in New Issue
Block a user