[vectorized](udaf) java udaf support with map type (#22397)
[vectorized](udaf) java udaf support with map type (#22397) * test * remove some unused * update * add case
This commit is contained in:
@ -115,39 +115,8 @@ private:
|
||||
jobject executor = nullptr;
|
||||
bool is_closed = false;
|
||||
|
||||
std::unique_ptr<int64_t[]> input_values_buffer_ptr;
|
||||
std::unique_ptr<int64_t[]> input_nulls_buffer_ptr;
|
||||
std::unique_ptr<int64_t[]> input_offsets_ptrs;
|
||||
//used for array type nested column null map, because array nested column must be nullable
|
||||
std::unique_ptr<int64_t[]> input_array_nulls_buffer_ptr;
|
||||
//used for array type of nested string column offset, not the array column offset
|
||||
std::unique_ptr<int64_t[]> input_array_string_offsets_ptrs;
|
||||
std::unique_ptr<int64_t> output_value_buffer;
|
||||
std::unique_ptr<int64_t> output_null_value;
|
||||
std::unique_ptr<int64_t> output_offsets_ptr;
|
||||
//used for array type nested column null map
|
||||
std::unique_ptr<int64_t> output_array_null_ptr;
|
||||
//used for array type of nested string column offset
|
||||
std::unique_ptr<int64_t> output_array_string_offsets_ptr;
|
||||
std::unique_ptr<int32_t> batch_size_ptr;
|
||||
// intermediate_state includes two parts: reserved / used buffer size and rows
|
||||
std::unique_ptr<IntermediateState> output_intermediate_state_ptr;
|
||||
|
||||
JniContext(int64_t num_args, jclass executor_cl, jmethodID executor_close_id)
|
||||
: executor_cl_(executor_cl),
|
||||
executor_close_id_(executor_close_id),
|
||||
input_values_buffer_ptr(new int64_t[num_args]),
|
||||
input_nulls_buffer_ptr(new int64_t[num_args]),
|
||||
input_offsets_ptrs(new int64_t[num_args]),
|
||||
input_array_nulls_buffer_ptr(new int64_t[num_args]),
|
||||
input_array_string_offsets_ptrs(new int64_t[num_args]),
|
||||
output_value_buffer(new int64_t()),
|
||||
output_null_value(new int64_t()),
|
||||
output_offsets_ptr(new int64_t()),
|
||||
output_array_null_ptr(new int64_t()),
|
||||
output_array_string_offsets_ptr(new int64_t()),
|
||||
batch_size_ptr(new int32_t()),
|
||||
output_intermediate_state_ptr(new IntermediateState()) {}
|
||||
: executor_cl_(executor_cl), executor_close_id_(executor_close_id) {}
|
||||
|
||||
void close() {
|
||||
if (is_closed) {
|
||||
|
||||
Reference in New Issue
Block a user