diff --git a/be/src/exec/analytor.cpp b/be/src/exec/analytor.cpp index 14490e7b30073b..ef36ca4c0df2bc 100644 --- a/be/src/exec/analytor.cpp +++ b/be/src/exec/analytor.cpp @@ -220,7 +220,13 @@ Status Analytor::prepare(RuntimeState* state, ObjectPool* pool, RuntimeProfile* real_fn_name += "_in"; _need_partition_materializing = true; } - func = get_window_function(real_fn_name, arg_type.type, return_type.type, is_input_nullable, fn.binary_type, + const auto& fname = fn.name.function_name; + auto real_arg_type = arg_type.type; + if (fname == "max_by" || fname == "min_by" || fname == "max_by_v2" || fname == "min_by_v2") { + const TypeDescriptor arg1_type = TypeDescriptor::from_thrift(fn.arg_types[1]); + real_arg_type = arg1_type.type; + } + func = get_window_function(real_fn_name, real_arg_type, return_type.type, is_input_nullable, fn.binary_type, state->func_version()); if (func == nullptr) { return Status::InternalError(strings::Substitute( diff --git a/be/src/exprs/agg/factory/aggregate_factory.cpp b/be/src/exprs/agg/factory/aggregate_factory.cpp index dcc63993f26c7e..34e239ee1ac00a 100644 --- a/be/src/exprs/agg/factory/aggregate_factory.cpp +++ b/be/src/exprs/agg/factory/aggregate_factory.cpp @@ -168,4 +168,49 @@ const AggregateFunction* get_window_function(const std::string& name, LogicalTyp return nullptr; } +<<<<<<< HEAD +======= +const AggregateFunction* get_aggregate_function(const std::string& agg_func_name, const TypeDescriptor& return_type, + const std::vector& arg_types, bool is_result_nullable, + TFunctionBinaryType::type binary_type, int func_version) { + // get function + if (agg_func_name == "count") { + return get_aggregate_function("count", TYPE_BIGINT, TYPE_BIGINT, is_result_nullable); + } else { + DCHECK_GE(arg_types.size(), 1); + TypeDescriptor arg_type = arg_types[0]; + // Because intersect_count have two input types. + // And intersect_count's first argument's type is alwasy Bitmap, + // so we use its second arguments type as input. + if (agg_func_name == "intersect_count") { + arg_type = arg_types[1]; + } + + // Because max_by and min_by function have two input types, + // so we use its second arguments type as input. + if (agg_func_name == "max_by" || agg_func_name == "min_by" || agg_func_name == "max_by_v2" || + agg_func_name == "min_by_v2") { + arg_type = arg_types[1]; + } + + // Because windowfunnel have more two input types. + // functions registry use 2th args(datetime/date). + if (agg_func_name == "window_funnel") { + arg_type = arg_types[1]; + } + + // hack for accepting various arguments + if (agg_func_name == "exchange_bytes" || agg_func_name == "exchange_speed") { + arg_type = TypeDescriptor(TYPE_BIGINT); + } + + if (agg_func_name == "array_union_agg" || agg_func_name == "array_unique_agg") { + arg_type = arg_type.children[0]; + } + return get_aggregate_function(agg_func_name, arg_type.type, return_type.type, is_result_nullable, binary_type, + func_version); + } +} + +>>>>>>> 9398edd4af ([BugFix] MaxBy/MinBy not filter nulls (#51354)) } // namespace starrocks diff --git a/be/src/exprs/agg/factory/aggregate_factory.hpp b/be/src/exprs/agg/factory/aggregate_factory.hpp index 4021b08a2fc109..d578e9e646a8bd 100644 --- a/be/src/exprs/agg/factory/aggregate_factory.hpp +++ b/be/src/exprs/agg/factory/aggregate_factory.hpp @@ -122,10 +122,10 @@ class AggregateFactory { template static auto MakeMaxAggregateFunction(); - template + template static auto MakeMaxByAggregateFunction(); - template + template static auto MakeMinByAggregateFunction(); template @@ -280,16 +280,16 @@ auto AggregateFactory::MakeMaxAggregateFunction() { return std::make_shared, MaxElement>>>(); } -template +template auto AggregateFactory::MakeMaxByAggregateFunction() { - return std::make_shared< - MaxMinByAggregateFunction, MaxByElement>>>(); + using AggData = MaxByAggregateData; + return std::make_shared>>(); } -template +template auto AggregateFactory::MakeMinByAggregateFunction() { - return std::make_shared< - MaxMinByAggregateFunction, MinByElement>>>(); + using AggData = MinByAggregateData; + return std::make_shared>>(); } template diff --git a/be/src/exprs/agg/factory/aggregate_resolver_minmaxany.cpp b/be/src/exprs/agg/factory/aggregate_resolver_minmaxany.cpp index 12970c829d15ce..cbe92cf8acfbce 100644 --- a/be/src/exprs/agg/factory/aggregate_resolver_minmaxany.cpp +++ b/be/src/exprs/agg/factory/aggregate_resolver_minmaxany.cpp @@ -75,11 +75,15 @@ struct MaxMinByDispatcherInner { if constexpr ((lt_is_aggregate || lt_is_json)&&(lt_is_aggregate || lt_is_json)) { if constexpr (is_max_by) { - resolver->add_aggregate_mapping_variadic>( - "max_by", true, AggregateFactory::MakeMaxByAggregateFunction()); + resolver->add_aggregate_mapping_notnull( + "max_by", true, AggregateFactory::MakeMaxByAggregateFunction()); + resolver->add_aggregate_mapping_notnull( + "max_by_v2", true, AggregateFactory::MakeMaxByAggregateFunction()); } else { - resolver->add_aggregate_mapping_variadic>( - "min_by", true, AggregateFactory::MakeMinByAggregateFunction()); + resolver->add_aggregate_mapping_notnull( + "min_by", true, AggregateFactory::MakeMinByAggregateFunction()); + resolver->add_aggregate_mapping_notnull( + "min_by_v2", true, AggregateFactory::MakeMinByAggregateFunction()); } } } diff --git a/be/src/exprs/agg/maxmin_by.h b/be/src/exprs/agg/maxmin_by.h index be70a94ee52a39..b949ffa7080182 100644 --- a/be/src/exprs/agg/maxmin_by.h +++ b/be/src/exprs/agg/maxmin_by.h @@ -27,33 +27,37 @@ namespace starrocks { -template +template struct MaxByAggregateData {}; -template -struct MaxByAggregateData> { +template +struct MaxByAggregateData> { + static constexpr auto not_filter_nulls_flag = not_filter_nulls; using T = AggDataValueType; raw::RawVector buffer_result; T value = RunTimeTypeLimits::min_value(); - + bool null_result = true; void reset() { buffer_result.clear(); value = RunTimeTypeLimits::min_value(); + null_result = true; } }; -template +template struct MinByAggregateData {}; -template -struct MinByAggregateData> { +template +struct MinByAggregateData> { + static constexpr auto not_filter_nulls_flag = not_filter_nulls; using T = AggDataValueType; raw::RawVector buffer_result; T value = RunTimeTypeLimits::max_value(); - + bool null_result = true; void reset() { buffer_result.clear(); value = RunTimeTypeLimits::max_value(); + null_result = true; } }; @@ -62,16 +66,40 @@ struct MaxByElement { using T = RunTimeCppType; void operator()(State& state, Column* col, size_t row_num, const T& right) const { if (right > state.value) { - state.value = right; - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); + bool is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + state.value = right; + state.buffer_result.clear(); + state.null_result = true; + } + } else { + state.value = right; + auto* data_col = ColumnHelper::get_data_column(col); + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + } } } - void operator()(State& state, const char* buffer, size_t size, const T& right) const { - if (right > state.value) { - state.value = right; - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); + void operator()(State& state, bool is_null, const char* buffer, size_t size, const T& right) const { + if (right >= state.value) { + if constexpr (State::not_filter_nulls_flag) { + state.value = right; + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + state.value = right; + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; @@ -81,17 +109,41 @@ struct MaxByElement> { using T = RunTimeCppType; void operator()(State& state, Column* col, size_t row_num, const T& right) const { - if (*right > state.value) { - AggDataTypeTraits::assign_value(state.value, right); - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); + if (*right >= state.value) { + bool is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + AggDataTypeTraits::assign_value(state.value, right); + state.buffer_result.clear(); + state.null_result = true; + } + } else { + auto* data_col = ColumnHelper::get_data_column(col); + AggDataTypeTraits::assign_value(state.value, right); + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + } } } - void operator()(State& state, const char* buffer, size_t size, const T& right) const { - if (*right > state.value) { - AggDataTypeTraits::assign_value(state.value, right); - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); + void operator()(State& state, bool is_null, const char* buffer, size_t size, const T& right) const { + if (*right >= state.value) { + if constexpr (State::not_filter_nulls_flag) { + AggDataTypeTraits::assign_value(state.value, right); + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + AggDataTypeTraits::assign_value(state.value, right); + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; @@ -100,17 +152,41 @@ template struct MinByElement { using T = RunTimeCppType; void operator()(State& state, Column* col, size_t row_num, const T& right) const { - if (right < state.value) { - state.value = right; - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); + if (right <= state.value) { + auto is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + state.value = right; + state.buffer_result.clear(); + state.null_result = true; + } + } else { + auto* data_col = ColumnHelper::get_data_column(col); + state.value = right; + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + } } } - void operator()(State& state, const char* buffer, size_t size, const T& right) const { - if (right < state.value) { - state.value = right; - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); + void operator()(State& state, bool is_null, const char* buffer, size_t size, const T& right) const { + if (right <= state.value) { + if constexpr (State::not_filter_nulls_flag) { + state.value = right; + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + state.value = right; + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; @@ -120,46 +196,76 @@ struct MinByElement> { using T = RunTimeCppType; void operator()(State& state, Column* col, size_t row_num, const T& right) const { - if (*right < state.value) { - AggDataTypeTraits::assign_value(state.value, right); - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); + if (*right <= state.value) { + auto is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + AggDataTypeTraits::assign_value(state.value, right); + state.buffer_result.clear(); + state.null_result = true; + } + } else { + AggDataTypeTraits::assign_value(state.value, right); + auto* data_col = ColumnHelper::get_data_column(col); + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + } } } - void operator()(State& state, const char* buffer, size_t size, const T& right) const { - if (*right < state.value) { - AggDataTypeTraits::assign_value(state.value, right); - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); + void operator()(State& state, bool is_null, const char* buffer, size_t size, const T& right) const { + if (*right <= state.value) { + if constexpr (State::not_filter_nulls_flag) { + AggDataTypeTraits::assign_value(state.value, right); + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + AggDataTypeTraits::assign_value(state.value, right); + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; -template -struct MaxByAggregateData> { +template +struct MaxByAggregateData> { + static constexpr auto not_filter_nulls_flag = not_filter_nulls; raw::RawVector buffer_result; raw::RawVector buffer; int32_t size = -1; + bool null_result = true; bool has_value() const { return size > -1; } Slice slice_max() const { return {buffer.data(), buffer.size()}; } void reset() { buffer_result.clear(); buffer.clear(); size = -1; + null_result = true; } }; -template -struct MinByAggregateData> { +template +struct MinByAggregateData> { + static constexpr auto not_filter_nulls_flag = not_filter_nulls; raw::RawVector buffer_result; raw::RawVector buffer; int32_t size = -1; + bool null_result = true; bool has_value() const { return size > -1; } Slice slice_min() const { return {buffer.data(), buffer.size()}; } void reset() { buffer_result.clear(); buffer.clear(); size = -1; + null_result = true; } }; @@ -167,21 +273,46 @@ template struct MaxByElement> { void operator()(State& state, Column* col, size_t row_num, const Slice& right) const { if (!state.has_value() || state.slice_max().compare(right) < 0) { - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); - state.buffer.resize(right.size); - memcpy(state.buffer.data(), right.data, right.size); - state.size = right.size; + bool is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + state.buffer.resize(right.size); + memcpy(state.buffer.data(), right.data, right.size); + state.size = right.size; + state.buffer_result.clear(); + state.null_result = true; + } + } else { + auto* data_col = ColumnHelper::get_data_column(col); + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + state.buffer.resize(right.size); + memcpy(state.buffer.data(), right.data, right.size); + state.size = right.size; + } } } - void operator()(State& state, const char* buffer, size_t size, const Slice& right) const { + void operator()(State& state, bool is_null, const char* buffer, size_t size, const Slice& right) const { if (!state.has_value() || state.slice_max().compare(right) < 0) { - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); state.buffer.resize(right.size); memcpy(state.buffer.data(), right.data, right.size); state.size = right.size; + if constexpr (State::not_filter_nulls_flag) { + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; @@ -190,21 +321,46 @@ template struct MinByElement> { void operator()(State& state, Column* col, size_t row_num, const Slice& right) const { if (!state.has_value() || state.slice_min().compare(right) > 0) { - state.buffer_result.resize(col->serialize_size(row_num)); - col->serialize(row_num, state.buffer_result.data()); - state.buffer.resize(right.size); - memcpy(state.buffer.data(), right.data, right.size); - state.size = right.size; + bool is_null = col->only_null() || col->is_null(row_num); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + state.buffer_result.clear(); + state.null_result = true; + state.buffer.resize(right.size); + memcpy(state.buffer.data(), right.data, right.size); + state.size = right.size; + } + } else { + auto* data_col = ColumnHelper::get_data_column(col); + state.buffer_result.resize(data_col->serialize_size(row_num)); + data_col->serialize(row_num, state.buffer_result.data()); + state.null_result = false; + state.buffer.resize(right.size); + memcpy(state.buffer.data(), right.data, right.size); + state.size = right.size; + } } } - void operator()(State& state, const char* buffer, size_t size, const Slice& right) const { + void operator()(State& state, bool is_null, const char* buffer, size_t size, const Slice& right) const { if (!state.has_value() || state.slice_min().compare(right) > 0) { - state.buffer_result.resize(size); - memcpy(state.buffer_result.data(), buffer, size); state.buffer.resize(right.size); memcpy(state.buffer.data(), right.data, right.size); state.size = right.size; + if constexpr (State::not_filter_nulls_flag) { + if (is_null) { + state.buffer_result.clear(); + state.null_result = true; + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } + } else { + state.buffer_result.resize(size); + memcpy(state.buffer_result.data(), buffer, size); + state.null_result = false; + } } } }; @@ -221,15 +377,12 @@ class MaxMinByAggregateFunction final void update(FunctionContext* ctx, const Column** columns, AggDataPtr __restrict state, size_t row_num) const override { - T column1_value; - if (columns[1]->is_nullable()) { - if (columns[1]->is_null(row_num)) { - return; - } - column1_value = down_cast(columns[1])->data_column()->get(row_num).get(); - } else { - column1_value = down_cast(columns[1])->get_data()[row_num]; + if (columns[1]->only_null() || columns[1]->is_null(row_num)) { + return; } + + auto* data_col1 = ColumnHelper::get_data_column(columns[1]); + auto column1_value = down_cast(data_col1)->get_data()[row_num]; OP()(this->data(state), (Column*)columns[0], row_num, column1_value); } @@ -243,25 +396,36 @@ class MaxMinByAggregateFunction final void merge(FunctionContext* ctx, const Column* column, AggDataPtr __restrict state, size_t row_num) const override { Slice src; - if (column->is_nullable()) { - if (column->is_null(row_num)) { - return; - } - const auto* nullable_column = down_cast(column); - src = nullable_column->data_column()->get(row_num).get_slice(); - } else { - const auto* binary_column = down_cast(column); - src = binary_column->get_slice(row_num); + if (column->only_null() || column->is_null(row_num)) { + return; } + auto* data_column = ColumnHelper::get_data_column(column); + const auto* binary_column = down_cast(data_column); + src = binary_column->get_slice(row_num); if constexpr (LT != TYPE_JSON) { T value; - memcpy(&value, src.data, sizeof(T)); - OP()(this->data(state), src.data + sizeof(T), src.size - sizeof(T), value); + auto p = src.data; + memcpy(&value, p, sizeof(T)); + p += sizeof(T); + bool null_result = false; + if constexpr (State::not_filter_nulls_flag) { + null_result = (*p == 1); + p += 1; + } + OP()(this->data(state), null_result, p, src.size - (p - src.data), value); } else { + // it seems wrong, FE has forbidden max_by(t, JSON) JsonValue value(src); size_t value_size = value.serialize_size(); - OP()(this->data(state), src.data + value_size, src.size - value_size, &value); + auto* p = src.data; + p += value_size; + bool null_result = false; + if constexpr (State::not_filter_nulls_flag) { + null_result = (*p == 1); + p += 1; + } + OP()(this->data(state), null_result, src.data + value_size, src.size - (p - src.data), &value); } } @@ -269,20 +433,38 @@ class MaxMinByAggregateFunction final raw::RawVector buffer; if constexpr (LT != TYPE_JSON) { size_t value_size = sizeof(T); - buffer.resize(this->data(state).buffer_result.size() + value_size); - memcpy(buffer.data(), &(this->data(state).value), value_size); - memcpy(buffer.data() + value_size, this->data(state).buffer_result.data(), - this->data(state).buffer_result.size()); + size_t buffer_size = this->data(state).buffer_result.size() + value_size; + if constexpr (State::not_filter_nulls_flag) { + buffer_size += 1; + } + buffer.resize(buffer_size); + auto* p = buffer.data(); + memcpy(p, &(this->data(state).value), value_size); + p += value_size; + if constexpr (State::not_filter_nulls_flag) { + *p = (this->data(state).null_result ? 1 : 0); + p += 1; + } + memcpy(p, this->data(state).buffer_result.data(), this->data(state).buffer_result.size()); } else { size_t value_size = this->data(state).value.serialize_size(); - buffer.resize(this->data(state).buffer_result.size() + value_size); - this->data(state).value.serialize(buffer.data()); - memcpy(buffer.data() + value_size, this->data(state).buffer_result.data(), - this->data(state).buffer_result.size()); + size_t buffer_size = this->data(state).buffer_result.size() + value_size; + if constexpr (State::not_filter_nulls_flag) { + buffer_size += 1; + } + buffer.resize(buffer_size); + auto* p = buffer.data(); + this->data(state).value.serialize(p); + p += value_size; + if constexpr (State::not_filter_nulls_flag) { + *p = (this->data(state).null_result ? 1 : 0); + p += 1; + } + memcpy(p, this->data(state).buffer_result.data(), this->data(state).buffer_result.size()); } if (to->is_nullable()) { auto* column = down_cast(to); - if (this->data(state).buffer_result.size() == 0) { + if (this->data(state).buffer_result.size() == 0 && !State::not_filter_nulls_flag) { column->append_default(); } else { down_cast(column->data_column().get())->append(Slice(buffer.data(), buffer.size())); @@ -296,25 +478,24 @@ class MaxMinByAggregateFunction final void convert_to_serialize_format(FunctionContext* ctx, const Columns& src, size_t chunk_size, ColumnPtr* dst) const override { - const InputColumnType* col_maxmin = nullptr; - if (src[1]->is_nullable()) { - const auto* nullable_column = down_cast(src[1].get()); - col_maxmin = down_cast(nullable_column->data_column().get()); - } else { - col_maxmin = down_cast(src[1].get()); + if (src[1]->only_null()) { + DCHECK((*dst)->is_nullable()); + (*dst)->append_default(chunk_size); + return; } + const auto* col_maxmin = down_cast(ColumnHelper::get_data_column(src[1].get())); BinaryColumn* result = nullptr; if ((*dst)->is_nullable()) { auto* dst_nullable_column = down_cast((*dst).get()); result = down_cast(dst_nullable_column->data_column().get()); - if (src[1]->is_nullable()) + if (src[1]->is_nullable()) { dst_nullable_column->null_column_data() = down_cast(src[1].get())->immutable_null_column_data(); - else + } else { dst_nullable_column->null_column_data().resize(chunk_size, 0); - + } } else { result = down_cast((*dst).get()); } @@ -323,26 +504,62 @@ class MaxMinByAggregateFunction final result->get_offset().resize(chunk_size + 1); size_t old_size = bytes.size(); + size_t new_size = old_size; for (size_t i = 0; i < chunk_size; ++i) { if (src[1]->is_null(i)) { - auto* dst_nullable_column = down_cast((*dst).get()); - dst_nullable_column->set_has_null(true); result->get_offset()[i + 1] = old_size; + DCHECK((*dst)->is_nullable()); + down_cast((*dst).get())->set_has_null(true); } else { - size_t serde_size = src[0]->serialize_size(i); + auto is_null = src[0]->only_null() || src[0]->is_null(i); T value = col_maxmin->get_data()[i]; - size_t new_size; - if constexpr (LT != TYPE_JSON) { - new_size = old_size + sizeof(T) + serde_size; - bytes.resize(new_size); - memcpy(bytes.data() + old_size, &value, sizeof(T)); - src[0]->serialize(i, bytes.data() + old_size + sizeof(T)); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + new_size = old_size + sizeof(T) + 1; + bytes.resize(new_size); + auto* p = bytes.data() + old_size; + memcpy(p, &value, sizeof(T)); + p += sizeof(T); + *p = 1; + } else { + auto* dst_nullable_column = down_cast((*dst).get()); + auto& dst_nulls = dst_nullable_column->null_column_data(); + dst_nulls[i] = DATUM_NULL; + dst_nullable_column->set_has_null(true); + } } else { - size_t value_size = value->serialize_size(); - new_size = old_size + value_size + serde_size; - bytes.resize(new_size); - value->serialize(bytes.data() + old_size); - src[0]->serialize(i, bytes.data() + old_size + value_size); + auto* data_column = ColumnHelper::get_data_column(src[0].get()); + size_t serde_size = data_column->serialize_size(i); + if constexpr (LT != TYPE_JSON) { + new_size = old_size + sizeof(T) + serde_size; + if constexpr (State::not_filter_nulls_flag) { + new_size += 1; + } + bytes.resize(new_size); + auto* p = bytes.data() + old_size; + memcpy(p, &value, sizeof(T)); + p += sizeof(T); + if constexpr (State::not_filter_nulls_flag) { + *p = 0; + p += 1; + } + data_column->serialize(i, p); + } else { + size_t value_size = value->serialize_size(); + new_size = old_size + value_size + serde_size; + if constexpr (State::not_filter_nulls_flag) { + new_size += 1; + } + bytes.resize(new_size); + auto* p = bytes.data() + old_size; + value->serialize(p); + p += value_size; + if constexpr (State::not_filter_nulls_flag) { + *p = 0; + p += 1; + } + data_column->serialize(i, p); + } } result->get_offset()[i + 1] = new_size; old_size = new_size; @@ -351,10 +568,26 @@ class MaxMinByAggregateFunction final } void finalize_to_column(FunctionContext* ctx, ConstAggDataPtr __restrict state, Column* to) const override { - if (this->data(state).buffer_result.empty()) - to->append_default(); - else - to->deserialize_and_append(this->data(state).buffer_result.data()); + if constexpr (State::not_filter_nulls_flag) { + if (this->data(state).null_result) { + DCHECK(to->is_nullable()); + to->append_default(); + } else { + if (to->is_nullable()) { + down_cast(to)->null_column()->append(DATUM_NOT_NULL); + } + ColumnHelper::get_data_column(to)->deserialize_and_append(this->data(state).buffer_result.data()); + } + } else { + if (this->data(state).buffer_result.empty()) { + to->append_default(); + } else { + if (to->is_nullable()) { + down_cast(to)->null_column()->append(DATUM_NOT_NULL); + } + ColumnHelper::get_data_column(to)->deserialize_and_append(this->data(state).buffer_result.data()); + } + } } std::string get_name() const override { return "maxmin_by"; } @@ -370,15 +603,10 @@ class MaxMinByAggregateFunction, StringLTGuard void update(FunctionContext* ctx, const Column** columns, AggDataPtr __restrict state, size_t row_num) const override { - Slice column1_value; - if (columns[1]->is_nullable()) { - if (columns[1]->is_null(row_num)) { - return; - } - column1_value = down_cast(columns[1])->data_column()->get(row_num).get_slice(); - } else { - column1_value = columns[1]->get(row_num).get_slice(); + if (columns[1]->only_null() || columns[1]->is_null(row_num)) { + return; } + Slice column1_value = ColumnHelper::get_data_column(columns[1])->get(row_num).get_slice(); OP()(this->data(state), (Column*)columns[0], row_num, column1_value); } @@ -391,28 +619,29 @@ class MaxMinByAggregateFunction, StringLTGuard } void merge(FunctionContext* ctx, const Column* column, AggDataPtr __restrict state, size_t row_num) const override { - Slice src; - if (column->is_nullable()) { - if (column->is_null(row_num)) { - return; - } - const auto* nullable_column = down_cast(column); - src = nullable_column->data_column()->get(row_num).get_slice(); - } else { - const auto* binary_column = down_cast(column); - src = binary_column->get_slice(row_num); - } - - size_t size; - const char* c = src.get_data(); - memcpy(&size, c, sizeof(size_t)); - if (size == -1) return; - c += sizeof(size_t); - Slice value(c, size); - c += size; - memcpy(&size, c, sizeof(size_t)); - c += sizeof(size_t); - OP()(this->data(state), c, size, value); + if (column->only_null() || column->is_null(row_num)) { + return; + } + auto* data_column = ColumnHelper::get_data_column(column); + const auto* binary_column = down_cast(data_column); + Slice src = binary_column->get_slice(row_num); + + size_t value_size; + const char* p = src.get_data(); + memcpy(&value_size, p, sizeof(size_t)); + if (value_size == -1) return; + p += sizeof(size_t); + Slice value(p, value_size); + p += value_size; + bool null_result = false; + if constexpr (State::not_filter_nulls_flag) { + null_result = (*p == 1); + p += 1; + } + size_t state_size; + memcpy(&state_size, p, sizeof(size_t)); + p += sizeof(size_t); + OP()(this->data(state), null_result, p, state_size, value); } void serialize_to_column(FunctionContext* ctx, ConstAggDataPtr __restrict state, Column* to) const override { @@ -425,15 +654,23 @@ class MaxMinByAggregateFunction, StringLTGuard buffer.resize(sizeof(size_t)); memcpy(buffer.data(), &temp, sizeof(size_t)); } else { - buffer.resize(result_size + value_size + 2 * sizeof(size_t)); - unsigned char* c = buffer.data(); - memcpy(c, &value_size, sizeof(size_t)); - c += sizeof(size_t); - memcpy(c, this->data(state).buffer.data(), value_size); - c += value_size; - memcpy(c, &result_size, sizeof(size_t)); - c += sizeof(size_t); - memcpy(c, this->data(state).buffer_result.data(), result_size); + auto buffer_size = result_size + value_size + 2 * sizeof(size_t); + if constexpr (State::not_filter_nulls_flag) { + buffer_size += 1; + } + buffer.resize(buffer_size); + unsigned char* p = buffer.data(); + memcpy(p, &value_size, sizeof(size_t)); + p += sizeof(size_t); + memcpy(p, this->data(state).buffer.data(), value_size); + p += value_size; + if constexpr (State::not_filter_nulls_flag) { + *p = (this->data(state).null_result ? 1 : 0); + p += 1; + } + memcpy(p, &result_size, sizeof(size_t)); + p += sizeof(size_t); + memcpy(p, this->data(state).buffer_result.data(), result_size); } if (to->is_nullable()) { @@ -452,25 +689,24 @@ class MaxMinByAggregateFunction, StringLTGuard void convert_to_serialize_format(FunctionContext* ctx, const Columns& src, size_t chunk_size, ColumnPtr* dst) const override { - const BinaryColumn* col_maxmin = nullptr; - if (src[1]->is_nullable()) { - const auto* nullable_column = down_cast(src[1].get()); - col_maxmin = down_cast(nullable_column->data_column().get()); - } else { - col_maxmin = down_cast(src[1].get()); + if (src[1]->only_null()) { + DCHECK((*dst)->is_nullable()); + (*dst)->append_default(chunk_size); + return; } + const BinaryColumn* col_maxmin = down_cast(ColumnHelper::get_data_column(src[1].get())); BinaryColumn* result = nullptr; if ((*dst)->is_nullable()) { auto* dst_nullable_column = down_cast((*dst).get()); result = down_cast(dst_nullable_column->data_column().get()); - if (src[1]->is_nullable()) + if (src[1]->is_nullable()) { dst_nullable_column->null_column_data() = down_cast(src[1].get())->immutable_null_column_data(); - else + } else { dst_nullable_column->null_column_data().resize(chunk_size, 0); - + } } else { result = down_cast((*dst).get()); } @@ -485,19 +721,49 @@ class MaxMinByAggregateFunction, StringLTGuard dst_nullable_column->set_has_null(true); result->get_offset()[i + 1] = old_size; } else { - Slice value = col_maxmin->get(i).get_slice(); - size_t value_size = value.size; - size_t serde_size = src[0]->serialize_size(i); - size_t new_size = old_size + 2 * sizeof(size_t) + value_size + serde_size; - bytes.resize(new_size); - unsigned char* c = bytes.data() + old_size; - memcpy(c, &value_size, sizeof(size_t)); - c += sizeof(size_t); - memcpy(c, value.data, value_size); - c += value_size; - memcpy(c, &serde_size, sizeof(size_t)); - c += sizeof(size_t); - src[0]->serialize(i, c); + size_t new_size = old_size; + auto is_null = src[0]->only_null() || src[0]->is_null(i); + if (is_null) { + if constexpr (State::not_filter_nulls_flag) { + Slice value = col_maxmin->get(i).get_slice(); + size_t value_size = value.size; + new_size = old_size + sizeof(size_t) + value_size + 1; + bytes.resize(new_size); + auto* p = bytes.data() + old_size; + memcpy(p, &value_size, sizeof(size_t)); + p += sizeof(size_t); + memcpy(p, value.get_data(), value_size); + p += value_size; + *p = 1; + } else { + auto* dst_nullable_column = down_cast((*dst).get()); + auto& dst_nulls = dst_nullable_column->null_column_data(); + dst_nulls[i] = DATUM_NULL; + dst_nullable_column->set_has_null(true); + } + } else { + Slice value = col_maxmin->get(i).get_slice(); + size_t value_size = value.size; + auto* data_column = ColumnHelper::get_data_column(src[0].get()); + size_t serde_size = data_column->serialize_size(i); + new_size = old_size + 2 * sizeof(size_t) + value_size + serde_size; + if constexpr (State::not_filter_nulls_flag) { + new_size += 1; + } + bytes.resize(new_size); + unsigned char* p = bytes.data() + old_size; + memcpy(p, &value_size, sizeof(size_t)); + p += sizeof(size_t); + memcpy(p, value.data, value_size); + p += value_size; + if constexpr (State::not_filter_nulls_flag) { + *p = 0; + p += 1; + } + memcpy(p, &serde_size, sizeof(size_t)); + p += sizeof(size_t); + data_column->serialize(i, p); + } result->get_offset()[i + 1] = new_size; old_size = new_size; } @@ -505,10 +771,26 @@ class MaxMinByAggregateFunction, StringLTGuard } void finalize_to_column(FunctionContext* ctx, ConstAggDataPtr __restrict state, Column* to) const override { - if (this->data(state).buffer_result.empty()) - to->append_default(); - else - to->deserialize_and_append(this->data(state).buffer_result.data()); + if constexpr (State::not_filter_nulls_flag) { + if (this->data(state).null_result) { + DCHECK(to->is_nullable()); + to->append_default(); + } else { + if (to->is_nullable()) { + down_cast(to)->null_column()->append(DATUM_NOT_NULL); + } + ColumnHelper::get_data_column(to)->deserialize_and_append(this->data(state).buffer_result.data()); + } + } else { + if (this->data(state).buffer_result.empty()) { + to->append_default(); + } else { + if (to->is_nullable()) { + down_cast(to)->null_column()->append(DATUM_NOT_NULL); + } + ColumnHelper::get_data_column(to)->deserialize_and_append(this->data(state).buffer_result.data()); + } + } } std::string get_name() const override { return "maxmin_by"; } diff --git a/be/test/exprs/agg/aggregate_test.cpp b/be/test/exprs/agg/aggregate_test.cpp index 2584cabf0951b0..8f4350d98b997e 100644 --- a/be/test/exprs/agg/aggregate_test.cpp +++ b/be/test/exprs/agg/aggregate_test.cpp @@ -653,8 +653,8 @@ TEST_F(AggregateTest, test_stddev_samp) { } } -TEST_F(AggregateTest, test_maxby) { - const AggregateFunction* func = get_aggregate_function("max_by", TYPE_VARCHAR, TYPE_INT, false); +void test_max_by_helper(FunctionContext* ctx, const char* max_by_name) { + const AggregateFunction* func = get_aggregate_function(max_by_name, TYPE_VARCHAR, TYPE_INT, false); auto result_column = Int32Column::create(); auto aggr_state = ManagedAggrState::create(ctx, func); auto int_column = Int32Column::create(); @@ -677,7 +677,7 @@ TEST_F(AggregateTest, test_maxby) { ASSERT_EQ(2, result_column->get_data()[0]); //test nullable column - func = get_aggregate_function("max_by", TYPE_DECIMALV2, TYPE_DOUBLE, false); + func = get_aggregate_function(max_by_name, TYPE_DECIMALV2, TYPE_DOUBLE, false); aggr_state = ManagedAggrState::create(ctx, func); auto data_column1 = DoubleColumn::create(); auto null_column1 = NullColumn::create(); @@ -709,8 +709,16 @@ TEST_F(AggregateTest, test_maxby) { ASSERT_EQ(98.11, nullable_result_column->data_column()->get(0).get()); } -TEST_F(AggregateTest, test_minby) { - const AggregateFunction* func = get_aggregate_function("min_by", TYPE_VARCHAR, TYPE_INT, false); +TEST_F(AggregateTest, test_max_by) { + test_max_by_helper(ctx, "max_by"); +} + +TEST_F(AggregateTest, test_max_by_v2) { + test_max_by_helper(ctx, "max_by_v2"); +} + +void test_min_by_helper(FunctionContext* ctx, const char* min_by_name) { + const AggregateFunction* func = get_aggregate_function(min_by_name, TYPE_VARCHAR, TYPE_INT, false); auto result_column = Int32Column::create(); auto aggr_state = ManagedAggrState::create(ctx, func); auto int_column = Int32Column::create(); @@ -733,7 +741,7 @@ TEST_F(AggregateTest, test_minby) { ASSERT_EQ(1, result_column->get_data()[0]); //test nullable column - func = get_aggregate_function("min_by", TYPE_DECIMALV2, TYPE_DOUBLE, false); + func = get_aggregate_function(min_by_name, TYPE_DECIMALV2, TYPE_DOUBLE, false); aggr_state = ManagedAggrState::create(ctx, func); auto data_column1 = DoubleColumn::create(); auto null_column1 = NullColumn::create(); @@ -765,8 +773,16 @@ TEST_F(AggregateTest, test_minby) { ASSERT_EQ(1.11, nullable_result_column->data_column()->get(0).get()); } -TEST_F(AggregateTest, test_maxby_with_nullable_aggregator) { - const AggregateFunction* func = get_aggregate_function("max_by", TYPE_VARCHAR, TYPE_INT, true); +TEST_F(AggregateTest, test_min_by) { + test_min_by_helper(ctx, "min_by"); +} + +TEST_F(AggregateTest, test_min_by_v2) { + test_min_by_helper(ctx, "min_by_v2"); +} + +void test_max_by_with_nullable_aggregator_helper(FunctionContext* ctx, const char* max_by_name) { + const AggregateFunction* func = get_aggregate_function(max_by_name, TYPE_VARCHAR, TYPE_INT, true); auto* ctx_with_args0 = FunctionContext::create_test_context( {FunctionContext::TypeDesc{.type = TYPE_INT}, FunctionContext::TypeDesc{.type = TYPE_VARCHAR}}, FunctionContext::TypeDesc{.type = TYPE_INT}); @@ -794,7 +810,7 @@ TEST_F(AggregateTest, test_maxby_with_nullable_aggregator) { ASSERT_EQ(2, result_column->get_data()[0]); //test nullable column - func = get_aggregate_function("max_by", TYPE_DECIMALV2, TYPE_DOUBLE, true); + func = get_aggregate_function(max_by_name, TYPE_DECIMALV2, TYPE_DOUBLE, true); auto* ctx_with_args1 = FunctionContext::create_test_context( {FunctionContext::TypeDesc{.type = TYPE_DOUBLE}, FunctionContext::TypeDesc{.type = TYPE_DECIMALV2, .precision = 38, .scale = 9}}, @@ -831,9 +847,15 @@ TEST_F(AggregateTest, test_maxby_with_nullable_aggregator) { func->finalize_to_column(ctx_with_args1, aggr_state->state(), nullable_result_column.get()); ASSERT_EQ(98.11, nullable_result_column->data_column()->get(0).get()); } +TEST_F(AggregateTest, test_max_by_with_nullable_aggregator) { + test_max_by_with_nullable_aggregator_helper(ctx, "max_by"); +} +TEST_F(AggregateTest, test_max_by_v2_with_nullable_aggregator) { + test_max_by_with_nullable_aggregator_helper(ctx, "max_by_v2"); +} -TEST_F(AggregateTest, test_minby_with_nullable_aggregator) { - const AggregateFunction* func = get_aggregate_function("min_by", TYPE_VARCHAR, TYPE_INT, true); +void test_min_by_with_nullable_aggregator_helper(FunctionContext* ctx, const char* min_by_name) { + const AggregateFunction* func = get_aggregate_function(min_by_name, TYPE_VARCHAR, TYPE_INT, true); auto* ctx_with_args0 = FunctionContext::create_test_context( {FunctionContext::TypeDesc{.type = TYPE_INT}, FunctionContext::TypeDesc{.type = TYPE_VARCHAR}}, FunctionContext::TypeDesc{.type = TYPE_INT}); @@ -861,7 +883,7 @@ TEST_F(AggregateTest, test_minby_with_nullable_aggregator) { ASSERT_EQ(1, result_column->get_data()[0]); //test nullable column - func = get_aggregate_function("min_by", TYPE_DECIMALV2, TYPE_DOUBLE, true); + func = get_aggregate_function(min_by_name, TYPE_DECIMALV2, TYPE_DOUBLE, true); auto* ctx_with_args1 = FunctionContext::create_test_context( {FunctionContext::TypeDesc{.type = TYPE_DOUBLE}, FunctionContext::TypeDesc{.type = TYPE_DECIMALV2, .precision = 38, .scale = 9}}, @@ -899,6 +921,12 @@ TEST_F(AggregateTest, test_minby_with_nullable_aggregator) { ASSERT_EQ(1.11, nullable_result_column->data_column()->get(0).get()); } +TEST_F(AggregateTest, test_min_by_with_nullable_aggregator) { + test_min_by_with_nullable_aggregator_helper(ctx, "min_by"); +} +TEST_F(AggregateTest, test_min_by_v2_with_nullable_aggregator) { + test_min_by_with_nullable_aggregator_helper(ctx, "min_by_v2"); +} TEST_F(AggregateTest, test_max) { const AggregateFunction* func = get_aggregate_function("max", TYPE_SMALLINT, TYPE_SMALLINT, false); test_agg_function(ctx, func, 1023, 2999, 2999); diff --git a/fe/fe-core/src/main/java/com/starrocks/analysis/FunctionName.java b/fe/fe-core/src/main/java/com/starrocks/analysis/FunctionName.java index 3934d8b447f2a3..c09cd87049b050 100644 --- a/fe/fe-core/src/main/java/com/starrocks/analysis/FunctionName.java +++ b/fe/fe-core/src/main/java/com/starrocks/analysis/FunctionName.java @@ -16,8 +16,8 @@ import com.google.common.base.Strings; import com.google.gson.annotations.SerializedName; +import com.starrocks.catalog.Function; import com.starrocks.cluster.ClusterNamespace; -import com.starrocks.common.AnalysisException; import com.starrocks.common.ErrorCode; import com.starrocks.common.ErrorReport; import com.starrocks.common.io.Text; @@ -129,7 +129,7 @@ private boolean isValidCharacter(char c) { public TFunctionName toThrift() { TFunctionName name = new TFunctionName(fn_); name.setDb_name(db_); - name.setFunction_name(fn_); + name.setFunction_name(Function.rectifyFunctionName(fn_)); return name; } diff --git a/fe/fe-core/src/main/java/com/starrocks/catalog/Function.java b/fe/fe-core/src/main/java/com/starrocks/catalog/Function.java index fa669a143168b4..566496a2e59b5b 100644 --- a/fe/fe-core/src/main/java/com/starrocks/catalog/Function.java +++ b/fe/fe-core/src/main/java/com/starrocks/catalog/Function.java @@ -37,6 +37,7 @@ import com.google.common.base.Joiner; import com.google.common.base.Objects; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.gson.annotations.SerializedName; import com.starrocks.analysis.FunctionName; @@ -52,6 +53,14 @@ import java.io.IOException; import java.util.Arrays; import java.util.List; +<<<<<<< HEAD +======= +import java.util.Map; +import java.util.Optional; +import java.util.Vector; +import java.util.function.BiFunction; +import java.util.stream.Collectors; +>>>>>>> 9398edd4af ([BugFix] MaxBy/MinBy not filter nulls (#51354)) import static com.starrocks.common.io.IOUtils.writeOptionString; @@ -524,6 +533,33 @@ private boolean isIndistinguishable(Function o) { } } + private static final Map ACTUAL_NAMES = ImmutableMap.builder() + .put(FunctionSet.MAX_BY, FunctionSet.MAX_BY_V2) + .put(FunctionSet.MIN_BY, FunctionSet.MIN_BY_V2) + .build(); + + public static String rectifyFunctionName(String s) { + return Optional.ofNullable(ACTUAL_NAMES.get(s)).orElseGet(() -> { + Optional optSuffix = Optional.empty(); + if (s.endsWith(FunctionSet.AGG_STATE_SUFFIX)) { + optSuffix = Optional.of(FunctionSet.AGG_STATE_SUFFIX); + } else if (s.endsWith(FunctionSet.AGG_STATE_MERGE_SUFFIX)) { + optSuffix = Optional.of(FunctionSet.AGG_STATE_MERGE_SUFFIX); + } else if (s.endsWith(FunctionSet.AGG_STATE_UNION_SUFFIX)) { + optSuffix = Optional.of(FunctionSet.AGG_STATE_UNION_SUFFIX); + } + if (optSuffix.isEmpty()) { + return s; + } else { + String suffix = optSuffix.get(); + String prefix = s.substring(0, s.length() - suffix.length()); + return Optional.ofNullable(ACTUAL_NAMES.get(prefix)) + .map(actualName -> actualName + suffix) + .orElse(s); + } + }); + } + public TFunction toThrift() { TFunction fn = new TFunction(); fn.setSignature(signatureString()); diff --git a/fe/fe-core/src/main/java/com/starrocks/catalog/FunctionSet.java b/fe/fe-core/src/main/java/com/starrocks/catalog/FunctionSet.java index 0d1e20b06aba13..603e31f22f347c 100644 --- a/fe/fe-core/src/main/java/com/starrocks/catalog/FunctionSet.java +++ b/fe/fe-core/src/main/java/com/starrocks/catalog/FunctionSet.java @@ -236,7 +236,9 @@ public class FunctionSet { public static final String HLL_UNION_AGG = "hll_union_agg"; public static final String MAX = "max"; public static final String MAX_BY = "max_by"; + public static final String MAX_BY_V2 = "max_by_v2"; public static final String MIN_BY = "min_by"; + public static final String MIN_BY_V2 = "min_by_v2"; public static final String MIN = "min"; public static final String PERCENTILE_APPROX = "percentile_approx"; public static final String PERCENTILE_CONT = "percentile_cont"; diff --git a/fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateDesc.java b/fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateDesc.java new file mode 100644 index 00000000000000..fad6f7461e371d --- /dev/null +++ b/fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateDesc.java @@ -0,0 +1,202 @@ +// Copyright 2021-present StarRocks, Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.starrocks.catalog.combinator; + +import com.google.api.client.util.Lists; +import com.google.common.base.Objects; +import com.google.common.base.Preconditions; +import com.google.gson.annotations.SerializedName; +import com.starrocks.analysis.FunctionParams; +import com.starrocks.catalog.AggregateFunction; +import com.starrocks.catalog.Function; +import com.starrocks.catalog.FunctionSet; +import com.starrocks.catalog.Type; +import com.starrocks.common.AnalysisException; +import com.starrocks.qe.ConnectContext; +import com.starrocks.sql.analyzer.FunctionAnalyzer; +import com.starrocks.sql.parser.NodePosition; +import com.starrocks.thrift.TAggStateDesc; +import com.starrocks.thrift.TFunctionVersion; +import com.starrocks.thrift.TTypeDesc; +import com.starrocks.thrift.TTypeNode; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * AggStateDesc is used to get the aggregate function which's used for common aggregate function state. + * Aggregate function's state needs to find the associated aggregate function, to get the aggregate function, + * we need to know the function name, return type, argument types and result nullable. + */ +public class AggStateDesc { + // aggregate function's name + @SerializedName(value = "functionName") + private final String functionName; + // aggregate function's argument types + @SerializedName(value = "argTypes") + private final List argTypes; + // aggregate function's return type + @SerializedName(value = "returnType") + private final Type returnType; + // aggregate function's result nullable + @SerializedName(value = "resultNullable") + private final Boolean resultNullable; + + public AggStateDesc(AggregateFunction aggFunc) { + this(aggFunc.functionName(), aggFunc.getReturnType(), Arrays.asList(aggFunc.getArgs())); + } + + public AggStateDesc(String functionName, + Type returnType, + List argTypes) { + Preconditions.checkNotNull(functionName, "functionName should not be null"); + Preconditions.checkNotNull(returnType, "returnType should not be null"); + Preconditions.checkNotNull(argTypes, "argTypes should not be null"); + this.functionName = functionName; + this.returnType = returnType; + this.argTypes = argTypes; + this.resultNullable = isAggFuncResultNullable(functionName); + } + + private boolean isAggFuncResultNullable(String functionName) { + // To be more compatible, always set result nullable to true here. This may decrease the performance of runtime + // but can be more compatible with different aggregate functions and inputs. + // this.resultNullable = !FunctionSet.alwaysReturnNonNullableFunctions.contains(functionName); + if (FunctionSet.COUNT.equalsIgnoreCase(functionName)) { + return false; + } else { + return true; + } + } + + public List getArgTypes() { + return argTypes; + } + + public Type getReturnType() { + return returnType; + } + + public Boolean getResultNullable() { + return resultNullable; + } + + public String getFunctionName() { + return functionName; + } + + @Override + public int hashCode() { + return Objects.hashCode(functionName, argTypes, returnType, resultNullable); + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof AggStateDesc)) { + return false; + } + AggStateDesc other = (AggStateDesc) o; + // result nullable + if (resultNullable != other.resultNullable) { + return false; + } + // func name + if (!functionName.equalsIgnoreCase(other.functionName)) { + return false; + } + // return type + if (!returnType.equals(other.returnType)) { + return false; + } + // arg types + int subTypeNumber = argTypes.size(); + if (subTypeNumber != other.argTypes.size()) { + return false; + } + for (int i = 0; i < subTypeNumber; i++) { + if (!argTypes.get(i).equals(other.argTypes.get(i))) { + return false; + } + } + return true; + } + + public TAggStateDesc toThrift() { + // wrapper extra data type + TAggStateDesc tAggStateDesc = new TAggStateDesc(); + tAggStateDesc.setAgg_func_name(Function.rectifyFunctionName(functionName)); + for (Type argType : argTypes) { + TTypeDesc tTypeDesc = new TTypeDesc(); + tTypeDesc.setTypes(new ArrayList()); + argType.toThrift(tTypeDesc); + tAggStateDesc.addToArg_types(tTypeDesc); + } + tAggStateDesc.setResult_nullable(resultNullable); + tAggStateDesc.setFunc_version(TFunctionVersion.RUNTIME_FILTER_SERIALIZE_VERSION_2.getValue()); + + // ret type + TTypeDesc tTypeDesc = new TTypeDesc(); + tTypeDesc.setTypes(new ArrayList()); + returnType.toThrift(tTypeDesc); + tAggStateDesc.setRet_type(tTypeDesc); + Preconditions.checkState(!tTypeDesc.types.isEmpty()); + + return tAggStateDesc; + } + + public AggStateDesc clone() { + return new AggStateDesc(functionName, returnType, Lists.newArrayList(argTypes)); + } + + /** + * @return associated analyzed aggregate function + * @throws AnalysisException: when the aggregate function is not found or not an aggregate function + */ + public AggregateFunction getAggregateFunction() throws AnalysisException { + FunctionParams params = new FunctionParams(false, Lists.newArrayList()); + Type[] argumentTypes = argTypes.toArray(Type[]::new); + Boolean[] isArgumentConstants = argTypes.stream().map(x -> false).toArray(Boolean[]::new); + Function result = FunctionAnalyzer.getAnalyzedAggregateFunction(ConnectContext.get(), + this.functionName, params, argumentTypes, isArgumentConstants, NodePosition.ZERO); + if (result == null) { + throw new AnalysisException(String.format("AggStateType function %s with input %s not found", functionName, + argTypes)); + } + if (!(result instanceof AggregateFunction)) { + throw new AnalysisException(String.format("AggStateType function %s with input %s found but not an aggregate " + + "function", functionName, argTypes)); + } + return (AggregateFunction) result; + } + + @Override + public String toString() { + return toSql(); + } + + public String toSql() { + StringBuilder sb = new StringBuilder(); + sb.append(functionName).append("("); + for (int i = 0; i < argTypes.size(); i++) { + if (i > 0) { + sb.append(", "); + } + sb.append(argTypes.get(i).toSql()); + } + sb.append(")"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/test/sql/test_agg_state/R/test_agg_state_table_with_all_functions.sql b/test/sql/test_agg_state/R/test_agg_state_table_with_all_functions.sql new file mode 100644 index 00000000000000..b66af8afa01f30 --- /dev/null +++ b/test/sql/test_agg_state/R/test_agg_state_table_with_all_functions.sql @@ -0,0 +1,935 @@ +-- name: test_agg_state_table_with_all_functions +CREATE TABLE t1 ( +k1 date, +c0 boolean, +c1 tinyint(4), +c2 smallint(6), +c3 int(11), +c4 bigint(20), +c5 largeint(40), +c6 double, +c7 float, +c8 decimal(10, 2), +c9 char(100), +c10 date, +c11 datetime, +c12 array, +c13 array, +c14 array, +c15 array, +c16 array, +c17 array, +c18 array, +c19 array, +c20 array, +c21 array, +c22 array, +c23 array, +c24 varchar(100), +c25 json, +c26 varbinary, +c27 map, +c28 struct>, +c29 array) DUPLICATE KEY(k1) +DISTRIBUTED BY HASH(k1) +PROPERTIES ( "replication_num" = "1"); +-- result: +-- !result +INSERT INTO t1 VALUES +( + '2024-01-01', -- k1 + TRUE, -- c0 + 127, -- c1 + 32000, -- c2 + 2147483647, -- c3 + 9223372036854775807, -- c4 + 170141183460469231731687303715884105727, -- c5 (example large integer) + 12345.6789, -- c6 + 12345.67, -- c7 + 123.45678901, -- c8 + 'ExampleCharData', -- c9 + '2024-01-02', -- c10 + '2024-01-01 12:34:56', -- c11 + [TRUE, FALSE, TRUE], -- c15 () + [1, -1, 127], -- c16 () + [100, -100, 32767], -- c17 () + [100000, -100000, 2147483647], -- c18 () + [10000000000, -10000000000, 9223372036854775807], -- c19 () + [12345678901234567890, -12345678901234567890, 170141183460469231731687303715884105727], -- c20 () + [1.23, 4.56, 7.89], -- c21 () + [1.23, 4.56, 7.89], -- c22 () + [1.23456789, 2.34567890, 3.45678901], -- c23 () + ['abc', 'def', 'ghi'], -- c24 () + ['2024-01-01', '2024-01-02'], -- c25 () + ['2024-01-01 12:34:56', '2024-01-02 12:34:56'], -- c26 () + 'ExampleVarcharData', -- c12 + '{"key": "value"}', -- c13 (JSON data) + x'4D7956617262696E61727944617461', -- c14 (VARBINARY data in hexadecimal format) + MAP{'key1':'value1', 'key2':'value2'}, -- c27 (map) + row('val1'), -- c28 (struct>) + ['str1', 'str2', 'str3'] -- c29 () +); +-- result: +-- !result +CREATE TABLE test_agg_state_table ( +k1 date, +v0 array_agg_distinct(boolean), +v1 array_agg_distinct(tinyint(4)), +v2 array_agg_distinct(smallint(6)), +v3 array_agg_distinct(int(11)), +v4 array_agg_distinct(bigint(20)), +v5 array_agg_distinct(largeint(40)), +v6 array_agg_distinct(double), +v7 array_agg_distinct(float), +v8 array_agg_distinct(decimal(10, 2)), +v9 array_agg_distinct(decimal(10, 2)), +v10 array_agg_distinct(decimal(10, 2)), +v11 array_agg_distinct(char(100)), +v12 array_agg_distinct(date), +v13 array_agg_distinct(datetime), +v14 percentile_approx(double,double), +v15 percentile_approx(double,double,double), +v16 covar_pop(double,double), +v17 covar_pop(float,float), +v18 covar_pop(boolean,boolean), +v19 covar_pop(tinyint(4),tinyint(4)), +v20 covar_pop(smallint(6),smallint(6)), +v21 covar_pop(int(11),int(11)), +v22 covar_pop(bigint(20),bigint(20)), +v23 covar_pop(largeint(40),largeint(40)), +v24 count(boolean), +v25 count(tinyint(4)), +v26 count(smallint(6)), +v27 count(int(11)), +v28 count(bigint(20)), +v29 count(largeint(40)), +v30 count(double), +v31 count(float), +v32 count(decimal(10, 2)), +v33 count(decimal(10, 2)), +v34 count(decimal(10, 2)), +v35 count(varchar(100)), +v36 count(date), +v37 count(datetime), +v38 count(array), +v39 count(map), +v40 count(struct>), +v41 count(json), +v42 count(varbinary), +v43 array_unique_agg(array), +v44 array_unique_agg(array), +v45 array_unique_agg(array), +v46 array_unique_agg(array), +v47 array_unique_agg(array), +v48 array_unique_agg(array), +v49 array_unique_agg(array), +v50 array_unique_agg(array), +v51 array_unique_agg(array), +v52 array_unique_agg(array), +v53 array_unique_agg(array), +v54 array_unique_agg(array), +v55 array_unique_agg(array), +v56 array_unique_agg(array), +v57 array_unique_agg(array), +v58 percentile_disc(boolean,double), +v59 percentile_disc(tinyint(4),double), +v60 percentile_disc(smallint(6),double), +v61 percentile_disc(int(11),double), +v62 percentile_disc(bigint(20),double), +v63 percentile_disc(largeint(40),double), +v64 percentile_disc(decimal(10, 2),double), +v65 percentile_disc(decimal(10, 2),double), +v66 percentile_disc(decimal(10, 2),double), +v67 percentile_disc(char(100),double), +v68 percentile_disc(date,double), +v69 percentile_disc(datetime,double), +v70 percentile_disc(double,double), +v71 percentile_disc(float,double), +v72 multi_distinct_count(boolean), +v73 multi_distinct_count(tinyint(4)), +v74 multi_distinct_count(smallint(6)), +v75 multi_distinct_count(int(11)), +v76 multi_distinct_count(bigint(20)), +v77 multi_distinct_count(largeint(40)), +v78 multi_distinct_count(double), +v79 multi_distinct_count(float), +v80 multi_distinct_count(decimal(10, 2)), +v81 multi_distinct_count(decimal(10, 2)), +v82 multi_distinct_count(decimal(10, 2)), +v83 multi_distinct_count(char(100)), +v84 multi_distinct_count(date), +v85 multi_distinct_count(datetime), +v86 array_agg(varchar(100)), +v87 stddev_samp(double), +v88 stddev_samp(float), +v89 stddev_samp(boolean), +v90 stddev_samp(tinyint(4)), +v91 stddev_samp(smallint(6)), +v92 stddev_samp(int(11)), +v93 stddev_samp(bigint(20)), +v94 stddev_samp(largeint(40)), +v95 mann_whitney_u_test(double,boolean,varchar(100),bigint(20)), +v96 mann_whitney_u_test(double,boolean,varchar(100)), +v97 mann_whitney_u_test(double,boolean), +v98 max(boolean), +v99 max(tinyint(4)), +v100 max(smallint(6)), +v101 max(int(11)), +v102 max(bigint(20)), +v103 max(largeint(40)), +v104 max(double), +v105 max(float), +v106 max(decimal(10, 2)), +v107 max(decimal(10, 2)), +v108 max(decimal(10, 2)), +v109 max(varchar(100)), +v110 max(date), +v111 max(datetime), +v112 ds_hll_count_distinct(boolean), +v113 ds_hll_count_distinct(boolean,int(11)), +v114 ds_hll_count_distinct(boolean,int(11),varchar(100)), +v115 ds_hll_count_distinct(tinyint(4)), +v116 ds_hll_count_distinct(tinyint(4),int(11)), +v117 ds_hll_count_distinct(tinyint(4),int(11),varchar(100)), +v118 ds_hll_count_distinct(smallint(6)), +v119 ds_hll_count_distinct(smallint(6),int(11)), +v120 ds_hll_count_distinct(smallint(6),int(11),varchar(100)), +v121 ds_hll_count_distinct(int(11)), +v122 ds_hll_count_distinct(int(11),int(11)), +v123 ds_hll_count_distinct(int(11),int(11),varchar(100)), +v124 ds_hll_count_distinct(bigint(20)), +v125 ds_hll_count_distinct(bigint(20),int(11)), +v126 ds_hll_count_distinct(bigint(20),int(11),varchar(100)), +v127 ds_hll_count_distinct(largeint(40)), +v128 ds_hll_count_distinct(largeint(40),int(11)), +v129 ds_hll_count_distinct(largeint(40),int(11),varchar(100)), +v130 ds_hll_count_distinct(double), +v131 ds_hll_count_distinct(double,int(11)), +v132 ds_hll_count_distinct(double,int(11),varchar(100)), +v133 ds_hll_count_distinct(float), +v134 ds_hll_count_distinct(float,int(11)), +v135 ds_hll_count_distinct(float,int(11),varchar(100)), +v136 ds_hll_count_distinct(decimal(10, 2)), +v137 ds_hll_count_distinct(decimal(10, 2),int(11)), +v138 ds_hll_count_distinct(decimal(10, 2),int(11),varchar(100)), +v139 ds_hll_count_distinct(decimal(10, 2)), +v140 ds_hll_count_distinct(decimal(10, 2),int(11)), +v141 ds_hll_count_distinct(decimal(10, 2),int(11),varchar(100)), +v142 ds_hll_count_distinct(decimal(10, 2)), +v143 ds_hll_count_distinct(decimal(10, 2),int(11)), +v144 ds_hll_count_distinct(decimal(10, 2),int(11),varchar(100)), +v145 ds_hll_count_distinct(varchar(100)), +v146 ds_hll_count_distinct(varchar(100),int(11)), +v147 ds_hll_count_distinct(varchar(100),int(11),varchar(100)), +v148 ds_hll_count_distinct(date), +v149 ds_hll_count_distinct(date,int(11)), +v150 ds_hll_count_distinct(date,int(11),varchar(100)), +v151 ds_hll_count_distinct(datetime), +v152 ds_hll_count_distinct(datetime,int(11)), +v153 ds_hll_count_distinct(datetime,int(11),varchar(100)), +v154 ndv(boolean), +v155 ndv(tinyint(4)), +v156 ndv(smallint(6)), +v157 ndv(int(11)), +v158 ndv(bigint(20)), +v159 ndv(largeint(40)), +v160 ndv(double), +v161 ndv(float), +v162 ndv(decimal(10, 2)), +v163 ndv(decimal(10, 2)), +v164 ndv(decimal(10, 2)), +v165 ndv(varchar(100)), +v166 ndv(date), +v167 ndv(datetime), +v168 stddev(double), +v169 stddev(float), +v170 stddev(boolean), +v171 stddev(tinyint(4)), +v172 stddev(smallint(6)), +v173 stddev(int(11)), +v174 stddev(bigint(20)), +v175 stddev(largeint(40)), +v176 covar_samp(double,double), +v177 covar_samp(float,float), +v178 covar_samp(boolean,boolean), +v179 covar_samp(tinyint(4),tinyint(4)), +v180 covar_samp(smallint(6),smallint(6)), +v181 covar_samp(int(11),int(11)), +v182 covar_samp(bigint(20),bigint(20)), +v183 covar_samp(largeint(40),largeint(40)), +v184 bitmap_agg(bigint(20)), +v185 bitmap_agg(largeint(40)), +v186 bitmap_agg(int(11)), +v187 bitmap_agg(smallint(6)), +v188 bitmap_agg(tinyint(4)), +v189 bitmap_agg(boolean), +v190 std(double), +v191 std(float), +v192 std(boolean), +v193 std(tinyint(4)), +v194 std(smallint(6)), +v195 std(int(11)), +v196 std(bigint(20)), +v197 std(largeint(40)), +v198 sum(double), +v199 sum(float), +v200 sum(tinyint(4)), +v201 sum(smallint(6)), +v202 sum(int(11)), +v203 sum(bigint(20)), +v204 sum(largeint(40)), +v205 sum(decimal(10, 2)), +v206 sum(decimal(10, 2)), +v207 sum(decimal(10, 2)), +v208 approx_count_distinct(boolean), +v209 approx_count_distinct(tinyint(4)), +v210 approx_count_distinct(smallint(6)), +v211 approx_count_distinct(int(11)), +v212 approx_count_distinct(bigint(20)), +v213 approx_count_distinct(largeint(40)), +v214 approx_count_distinct(double), +v215 approx_count_distinct(float), +v216 approx_count_distinct(decimal(10, 2)), +v217 approx_count_distinct(decimal(10, 2)), +v218 approx_count_distinct(decimal(10, 2)), +v219 approx_count_distinct(varchar(100)), +v220 approx_count_distinct(date), +v221 approx_count_distinct(datetime), +v222 min(boolean), +v223 min(tinyint(4)), +v224 min(smallint(6)), +v225 min(int(11)), +v226 min(bigint(20)), +v227 min(largeint(40)), +v228 min(double), +v229 min(float), +v230 min(decimal(10, 2)), +v231 min(decimal(10, 2)), +v232 min(decimal(10, 2)), +v233 min(varchar(100)), +v234 min(date), +v235 min(datetime), +v236 retention(array), +v237 max_by(boolean,boolean), +v238 max_by(tinyint(4),boolean), +v239 max_by(smallint(6),boolean), +v240 max_by(int(11),boolean), +v241 max_by(bigint(20),boolean), +v242 max_by(largeint(40),boolean), +v243 max_by(double,boolean), +v244 max_by(float,boolean), +v245 max_by(decimal(10, 2),boolean), +v246 max_by(decimal(10, 2),boolean), +v247 max_by(decimal(10, 2),boolean), +v248 max_by(varchar(100),boolean), +v249 max_by(date,boolean), +v250 max_by(datetime,boolean), +v251 max_by(json,boolean), +v252 max_by(boolean,tinyint(4)), +v253 max_by(tinyint(4),tinyint(4)), +v254 max_by(smallint(6),tinyint(4)), +v255 max_by(int(11),tinyint(4)), +v256 max_by(bigint(20),tinyint(4)), +v257 max_by(largeint(40),tinyint(4)), +v258 max_by(double,tinyint(4)), +v259 max_by(float,tinyint(4)), +v260 max_by(decimal(10, 2),tinyint(4)), +v261 max_by(decimal(10, 2),tinyint(4)), +v262 max_by(decimal(10, 2),tinyint(4)), +v263 max_by(varchar(100),tinyint(4)), +v264 max_by(date,tinyint(4)), +v265 max_by(datetime,tinyint(4)), +v266 max_by(json,tinyint(4)), +v267 max_by(boolean,smallint(6)), +v268 max_by(tinyint(4),smallint(6)), +v269 max_by(smallint(6),smallint(6)), +v270 max_by(int(11),smallint(6)), +v271 max_by(bigint(20),smallint(6)), +v272 max_by(largeint(40),smallint(6)), +v273 max_by(double,smallint(6)), +v274 max_by(float,smallint(6)), +v275 max_by(decimal(10, 2),smallint(6)), +v276 max_by(decimal(10, 2),smallint(6)), +v277 max_by(decimal(10, 2),smallint(6)), +v278 max_by(varchar(100),smallint(6)), +v279 max_by(date,smallint(6)), +v280 max_by(datetime,smallint(6)), +v281 max_by(json,smallint(6)), +v282 max_by(boolean,int(11)), +v283 max_by(tinyint(4),int(11)), +v284 max_by(smallint(6),int(11)), +v285 max_by(int(11),int(11)), +v286 max_by(bigint(20),int(11)), +v287 max_by(largeint(40),int(11)), +v288 max_by(double,int(11)), +v289 max_by(float,int(11)), +v290 max_by(decimal(10, 2),int(11)), +v291 max_by(decimal(10, 2),int(11)), +v292 max_by(decimal(10, 2),int(11)), +v293 max_by(varchar(100),int(11)), +v294 max_by(date,int(11)), +v295 max_by(datetime,int(11)), +v296 max_by(json,int(11)), +v297 max_by(boolean,bigint(20)), +v298 max_by(tinyint(4),bigint(20)), +v299 max_by(smallint(6),bigint(20)), +v300 max_by(int(11),bigint(20)), +v301 max_by(bigint(20),bigint(20)), +v302 max_by(largeint(40),bigint(20)), +v303 max_by(double,bigint(20)), +v304 max_by(float,bigint(20)), +v305 max_by(decimal(10, 2),bigint(20)), +v306 max_by(decimal(10, 2),bigint(20)), +v307 max_by(decimal(10, 2),bigint(20)), +v308 max_by(varchar(100),bigint(20)), +v309 max_by(date,bigint(20)), +v310 max_by(datetime,bigint(20)), +v311 max_by(json,bigint(20)), +v312 max_by(boolean,largeint(40)), +v313 max_by(tinyint(4),largeint(40)), +v314 max_by(smallint(6),largeint(40)), +v315 max_by(int(11),largeint(40)), +v316 max_by(bigint(20),largeint(40)), +v317 max_by(largeint(40),largeint(40)), +v318 max_by(double,largeint(40)), +v319 max_by(float,largeint(40)), +v320 max_by(decimal(10, 2),largeint(40)), +v321 max_by(decimal(10, 2),largeint(40)), +v322 max_by(decimal(10, 2),largeint(40)), +v323 max_by(varchar(100),largeint(40)), +v324 max_by(date,largeint(40)), +v325 max_by(datetime,largeint(40)), +v326 max_by(json,largeint(40)), +v327 max_by(boolean,double), +v328 max_by(tinyint(4),double), +v329 max_by(smallint(6),double), +v330 max_by(int(11),double), +v331 max_by(bigint(20),double), +v332 max_by(largeint(40),double), +v333 max_by(double,double), +v334 max_by(float,double), +v335 max_by(decimal(10, 2),double), +v336 max_by(decimal(10, 2),double), +v337 max_by(decimal(10, 2),double), +v338 max_by(varchar(100),double), +v339 max_by(date,double), +v340 max_by(datetime,double), +v341 max_by(json,double), +v342 max_by(boolean,float), +v343 max_by(tinyint(4),float), +v344 max_by(smallint(6),float), +v345 max_by(int(11),float), +v346 max_by(bigint(20),float), +v347 max_by(largeint(40),float), +v348 max_by(double,float), +v349 max_by(float,float), +v350 max_by(decimal(10, 2),float), +v351 max_by(decimal(10, 2),float), +v352 max_by(decimal(10, 2),float), +v353 max_by(varchar(100),float), +v354 max_by(date,float), +v355 max_by(datetime,float), +v356 max_by(json,float), +v357 max_by(boolean,decimal(10, 2)), +v358 max_by(tinyint(4),decimal(10, 2)), +v359 max_by(smallint(6),decimal(10, 2)), +v360 max_by(int(11),decimal(10, 2)), +v361 max_by(bigint(20),decimal(10, 2)), +v362 max_by(largeint(40),decimal(10, 2)), +v363 max_by(double,decimal(10, 2)), +v364 max_by(float,decimal(10, 2)), +v365 max_by(decimal(10, 2),decimal(10, 2)), +v366 max_by(decimal(10, 2),decimal(10, 2)), +v367 max_by(decimal(10, 2),decimal(10, 2)), +v368 max_by(varchar(100),decimal(10, 2)), +v369 max_by(date,decimal(10, 2)), +v370 max_by(datetime,decimal(10, 2)), +v371 max_by(json,decimal(10, 2)), +v372 max_by(boolean,decimal(10, 2)), +v373 max_by(tinyint(4),decimal(10, 2)), +v374 max_by(smallint(6),decimal(10, 2)), +v375 max_by(int(11),decimal(10, 2)), +v376 max_by(bigint(20),decimal(10, 2)), +v377 max_by(largeint(40),decimal(10, 2)), +v378 max_by(double,decimal(10, 2)), +v379 max_by(float,decimal(10, 2)), +v380 max_by(decimal(10, 2),decimal(10, 2)), +v381 max_by(decimal(10, 2),decimal(10, 2)), +v382 max_by(decimal(10, 2),decimal(10, 2)), +v383 max_by(varchar(100),decimal(10, 2)), +v384 max_by(date,decimal(10, 2)), +v385 max_by(datetime,decimal(10, 2)), +v386 max_by(json,decimal(10, 2)), +v387 max_by(boolean,decimal(10, 2)), +v388 max_by(tinyint(4),decimal(10, 2)), +v389 max_by(smallint(6),decimal(10, 2)), +v390 max_by(int(11),decimal(10, 2)), +v391 max_by(bigint(20),decimal(10, 2)), +v392 max_by(largeint(40),decimal(10, 2)), +v393 max_by(double,decimal(10, 2)), +v394 max_by(float,decimal(10, 2)), +v395 max_by(decimal(10, 2),decimal(10, 2)), +v396 max_by(decimal(10, 2),decimal(10, 2)), +v397 max_by(decimal(10, 2),decimal(10, 2)), +v398 max_by(varchar(100),decimal(10, 2)), +v399 max_by(date,decimal(10, 2)), +v400 max_by(datetime,decimal(10, 2)), +v401 max_by(json,decimal(10, 2)), +v402 max_by(boolean,varchar(100)), +v403 max_by(tinyint(4),varchar(100)), +v404 max_by(smallint(6),varchar(100)), +v405 max_by(int(11),varchar(100)), +v406 max_by(bigint(20),varchar(100)), +v407 max_by(largeint(40),varchar(100)), +v408 max_by(double,varchar(100)), +v409 max_by(float,varchar(100)), +v410 max_by(decimal(10, 2),varchar(100)), +v411 max_by(decimal(10, 2),varchar(100)), +v412 max_by(decimal(10, 2),varchar(100)), +v413 max_by(varchar(100),varchar(100)), +v414 max_by(date,varchar(100)), +v415 max_by(datetime,varchar(100)), +v416 max_by(json,varchar(100)), +v417 max_by(boolean,date), +v418 max_by(tinyint(4),date), +v419 max_by(smallint(6),date), +v420 max_by(int(11),date), +v421 max_by(bigint(20),date), +v422 max_by(largeint(40),date), +v423 max_by(double,date), +v424 max_by(float,date), +v425 max_by(decimal(10, 2),date), +v426 max_by(decimal(10, 2),date), +v427 max_by(decimal(10, 2),date), +v428 max_by(varchar(100),date), +v429 max_by(date,date), +v430 max_by(datetime,date), +v431 max_by(json,date), +v432 max_by(boolean,datetime), +v433 max_by(tinyint(4),datetime), +v434 max_by(smallint(6),datetime), +v435 max_by(int(11),datetime), +v436 max_by(bigint(20),datetime), +v437 max_by(largeint(40),datetime), +v438 max_by(double,datetime), +v439 max_by(float,datetime), +v440 max_by(decimal(10, 2),datetime), +v441 max_by(decimal(10, 2),datetime), +v442 max_by(decimal(10, 2),datetime), +v443 max_by(varchar(100),datetime), +v444 max_by(date,datetime), +v445 max_by(datetime,datetime), +v446 max_by(json,datetime), +v447 min_by(boolean,boolean), +v448 min_by(tinyint(4),boolean), +v449 min_by(smallint(6),boolean), +v450 min_by(int(11),boolean), +v451 min_by(bigint(20),boolean), +v452 min_by(largeint(40),boolean), +v453 min_by(double,boolean), +v454 min_by(float,boolean), +v455 min_by(decimal(10, 2),boolean), +v456 min_by(decimal(10, 2),boolean), +v457 min_by(decimal(10, 2),boolean), +v458 min_by(varchar(100),boolean), +v459 min_by(date,boolean), +v460 min_by(datetime,boolean), +v461 min_by(json,boolean), +v462 min_by(boolean,tinyint(4)), +v463 min_by(tinyint(4),tinyint(4)), +v464 min_by(smallint(6),tinyint(4)), +v465 min_by(int(11),tinyint(4)), +v466 min_by(bigint(20),tinyint(4)), +v467 min_by(largeint(40),tinyint(4)), +v468 min_by(double,tinyint(4)), +v469 min_by(float,tinyint(4)), +v470 min_by(decimal(10, 2),tinyint(4)), +v471 min_by(decimal(10, 2),tinyint(4)), +v472 min_by(decimal(10, 2),tinyint(4)), +v473 min_by(varchar(100),tinyint(4)), +v474 min_by(date,tinyint(4)), +v475 min_by(datetime,tinyint(4)), +v476 min_by(json,tinyint(4)), +v477 min_by(boolean,smallint(6)), +v478 min_by(tinyint(4),smallint(6)), +v479 min_by(smallint(6),smallint(6)), +v480 min_by(int(11),smallint(6)), +v481 min_by(bigint(20),smallint(6)), +v482 min_by(largeint(40),smallint(6)), +v483 min_by(double,smallint(6)), +v484 min_by(float,smallint(6)), +v485 min_by(decimal(10, 2),smallint(6)), +v486 min_by(decimal(10, 2),smallint(6)), +v487 min_by(decimal(10, 2),smallint(6)), +v488 min_by(varchar(100),smallint(6)), +v489 min_by(date,smallint(6)), +v490 min_by(datetime,smallint(6)), +v491 min_by(json,smallint(6)), +v492 min_by(boolean,int(11)), +v493 min_by(tinyint(4),int(11)), +v494 min_by(smallint(6),int(11)), +v495 min_by(int(11),int(11)), +v496 min_by(bigint(20),int(11)), +v497 min_by(largeint(40),int(11)), +v498 min_by(double,int(11)), +v499 min_by(float,int(11)), +v500 min_by(decimal(10, 2),int(11)), +v501 min_by(decimal(10, 2),int(11)), +v502 min_by(decimal(10, 2),int(11)), +v503 min_by(varchar(100),int(11)), +v504 min_by(date,int(11)), +v505 min_by(datetime,int(11)), +v506 min_by(json,int(11)), +v507 min_by(boolean,bigint(20)), +v508 min_by(tinyint(4),bigint(20)), +v509 min_by(smallint(6),bigint(20)), +v510 min_by(int(11),bigint(20)), +v511 min_by(bigint(20),bigint(20)), +v512 min_by(largeint(40),bigint(20)), +v513 min_by(double,bigint(20)), +v514 min_by(float,bigint(20)), +v515 min_by(decimal(10, 2),bigint(20)), +v516 min_by(decimal(10, 2),bigint(20)), +v517 min_by(decimal(10, 2),bigint(20)), +v518 min_by(varchar(100),bigint(20)), +v519 min_by(date,bigint(20)), +v520 min_by(datetime,bigint(20)), +v521 min_by(json,bigint(20)), +v522 min_by(boolean,largeint(40)), +v523 min_by(tinyint(4),largeint(40)), +v524 min_by(smallint(6),largeint(40)), +v525 min_by(int(11),largeint(40)), +v526 min_by(bigint(20),largeint(40)), +v527 min_by(largeint(40),largeint(40)), +v528 min_by(double,largeint(40)), +v529 min_by(float,largeint(40)), +v530 min_by(decimal(10, 2),largeint(40)), +v531 min_by(decimal(10, 2),largeint(40)), +v532 min_by(decimal(10, 2),largeint(40)), +v533 min_by(varchar(100),largeint(40)), +v534 min_by(date,largeint(40)), +v535 min_by(datetime,largeint(40)), +v536 min_by(json,largeint(40)), +v537 min_by(boolean,double), +v538 min_by(tinyint(4),double), +v539 min_by(smallint(6),double), +v540 min_by(int(11),double), +v541 min_by(bigint(20),double), +v542 min_by(largeint(40),double), +v543 min_by(double,double), +v544 min_by(float,double), +v545 min_by(decimal(10, 2),double), +v546 min_by(decimal(10, 2),double), +v547 min_by(decimal(10, 2),double), +v548 min_by(varchar(100),double), +v549 min_by(date,double), +v550 min_by(datetime,double), +v551 min_by(json,double), +v552 min_by(boolean,float), +v553 min_by(tinyint(4),float), +v554 min_by(smallint(6),float), +v555 min_by(int(11),float), +v556 min_by(bigint(20),float), +v557 min_by(largeint(40),float), +v558 min_by(double,float), +v559 min_by(float,float), +v560 min_by(decimal(10, 2),float), +v561 min_by(decimal(10, 2),float), +v562 min_by(decimal(10, 2),float), +v563 min_by(varchar(100),float), +v564 min_by(date,float), +v565 min_by(datetime,float), +v566 min_by(json,float), +v567 min_by(boolean,decimal(10, 2)), +v568 min_by(tinyint(4),decimal(10, 2)), +v569 min_by(smallint(6),decimal(10, 2)), +v570 min_by(int(11),decimal(10, 2)), +v571 min_by(bigint(20),decimal(10, 2)), +v572 min_by(largeint(40),decimal(10, 2)), +v573 min_by(double,decimal(10, 2)), +v574 min_by(float,decimal(10, 2)), +v575 min_by(decimal(10, 2),decimal(10, 2)), +v576 min_by(decimal(10, 2),decimal(10, 2)), +v577 min_by(decimal(10, 2),decimal(10, 2)), +v578 min_by(varchar(100),decimal(10, 2)), +v579 min_by(date,decimal(10, 2)), +v580 min_by(datetime,decimal(10, 2)), +v581 min_by(json,decimal(10, 2)), +v582 min_by(boolean,decimal(10, 2)), +v583 min_by(tinyint(4),decimal(10, 2)), +v584 min_by(smallint(6),decimal(10, 2)), +v585 min_by(int(11),decimal(10, 2)), +v586 min_by(bigint(20),decimal(10, 2)), +v587 min_by(largeint(40),decimal(10, 2)), +v588 min_by(double,decimal(10, 2)), +v589 min_by(float,decimal(10, 2)), +v590 min_by(decimal(10, 2),decimal(10, 2)), +v591 min_by(decimal(10, 2),decimal(10, 2)), +v592 min_by(decimal(10, 2),decimal(10, 2)), +v593 min_by(varchar(100),decimal(10, 2)), +v594 min_by(date,decimal(10, 2)), +v595 min_by(datetime,decimal(10, 2)), +v596 min_by(json,decimal(10, 2)), +v597 min_by(boolean,decimal(10, 2)), +v598 min_by(tinyint(4),decimal(10, 2)), +v599 min_by(smallint(6),decimal(10, 2)), +v600 min_by(int(11),decimal(10, 2)), +v601 min_by(bigint(20),decimal(10, 2)), +v602 min_by(largeint(40),decimal(10, 2)), +v603 min_by(double,decimal(10, 2)), +v604 min_by(float,decimal(10, 2)), +v605 min_by(decimal(10, 2),decimal(10, 2)), +v606 min_by(decimal(10, 2),decimal(10, 2)), +v607 min_by(decimal(10, 2),decimal(10, 2)), +v608 min_by(varchar(100),decimal(10, 2)), +v609 min_by(date,decimal(10, 2)), +v610 min_by(datetime,decimal(10, 2)), +v611 min_by(json,decimal(10, 2)), +v612 min_by(boolean,varchar(100)), +v613 min_by(tinyint(4),varchar(100)), +v614 min_by(smallint(6),varchar(100)), +v615 min_by(int(11),varchar(100)), +v616 min_by(bigint(20),varchar(100)), +v617 min_by(largeint(40),varchar(100)), +v618 min_by(double,varchar(100)), +v619 min_by(float,varchar(100)), +v620 min_by(decimal(10, 2),varchar(100)), +v621 min_by(decimal(10, 2),varchar(100)), +v622 min_by(decimal(10, 2),varchar(100)), +v623 min_by(varchar(100),varchar(100)), +v624 min_by(date,varchar(100)), +v625 min_by(datetime,varchar(100)), +v626 min_by(json,varchar(100)), +v627 min_by(boolean,date), +v628 min_by(tinyint(4),date), +v629 min_by(smallint(6),date), +v630 min_by(int(11),date), +v631 min_by(bigint(20),date), +v632 min_by(largeint(40),date), +v633 min_by(double,date), +v634 min_by(float,date), +v635 min_by(decimal(10, 2),date), +v636 min_by(decimal(10, 2),date), +v637 min_by(decimal(10, 2),date), +v638 min_by(varchar(100),date), +v639 min_by(date,date), +v640 min_by(datetime,date), +v641 min_by(json,date), +v642 min_by(boolean,datetime), +v643 min_by(tinyint(4),datetime), +v644 min_by(smallint(6),datetime), +v645 min_by(int(11),datetime), +v646 min_by(bigint(20),datetime), +v647 min_by(largeint(40),datetime), +v648 min_by(double,datetime), +v649 min_by(float,datetime), +v650 min_by(decimal(10, 2),datetime), +v651 min_by(decimal(10, 2),datetime), +v652 min_by(decimal(10, 2),datetime), +v653 min_by(varchar(100),datetime), +v654 min_by(date,datetime), +v655 min_by(datetime,datetime), +v656 min_by(json,datetime), +v657 variance_pop(double), +v658 variance_pop(float), +v659 variance_pop(boolean), +v660 variance_pop(tinyint(4)), +v661 variance_pop(smallint(6)), +v662 variance_pop(int(11)), +v663 variance_pop(bigint(20)), +v664 variance_pop(largeint(40)), +v665 avg(double), +v666 avg(float), +v667 avg(tinyint(4)), +v668 avg(smallint(6)), +v669 avg(int(11)), +v670 avg(bigint(20)), +v671 avg(largeint(40)), +v672 avg(decimal(10, 2)), +v673 avg(decimal(10, 2)), +v674 avg(decimal(10, 2)), +v675 any_value(boolean), +v676 any_value(tinyint(4)), +v677 any_value(smallint(6)), +v678 any_value(int(11)), +v679 any_value(bigint(20)), +v680 any_value(largeint(40)), +v681 any_value(double), +v682 any_value(float), +v683 any_value(decimal(10, 2)), +v684 any_value(decimal(10, 2)), +v685 any_value(decimal(10, 2)), +v686 any_value(varchar(100)), +v687 any_value(date), +v688 any_value(datetime), +v689 any_value(array), +v690 any_value(map), +v691 any_value(struct>), +v692 any_value(json), +v693 any_value(varbinary), +v694 var_pop(double), +v695 var_pop(float), +v696 var_pop(boolean), +v697 var_pop(tinyint(4)), +v698 var_pop(smallint(6)), +v699 var_pop(int(11)), +v700 var_pop(bigint(20)), +v701 var_pop(largeint(40)), +v702 stddev_pop(double), +v703 stddev_pop(float), +v704 stddev_pop(boolean), +v705 stddev_pop(tinyint(4)), +v706 stddev_pop(smallint(6)), +v707 stddev_pop(int(11)), +v708 stddev_pop(bigint(20)), +v709 stddev_pop(largeint(40)), +v710 variance_samp(double), +v711 variance_samp(float), +v712 variance_samp(boolean), +v713 variance_samp(tinyint(4)), +v714 variance_samp(smallint(6)), +v715 variance_samp(int(11)), +v716 variance_samp(bigint(20)), +v717 variance_samp(largeint(40)), +v718 percentile_cont(date,double), +v719 percentile_cont(datetime,double), +v720 percentile_cont(double,double), +v721 corr(double,double), +v722 corr(float,float), +v723 corr(boolean,boolean), +v724 corr(tinyint(4),tinyint(4)), +v725 corr(smallint(6),smallint(6)), +v726 corr(int(11),int(11)), +v727 corr(bigint(20),bigint(20)), +v728 corr(largeint(40),largeint(40)), +v729 multi_distinct_sum(double), +v730 multi_distinct_sum(float), +v731 multi_distinct_sum(boolean), +v732 multi_distinct_sum(tinyint(4)), +v733 multi_distinct_sum(smallint(6)), +v734 multi_distinct_sum(int(11)), +v735 multi_distinct_sum(bigint(20)), +v736 multi_distinct_sum(largeint(40)), +v737 multi_distinct_sum(decimal(10, 2)), +v738 multi_distinct_sum(decimal(10, 2)), +v739 multi_distinct_sum(decimal(10, 2)), +v740 var_samp(double), +v741 var_samp(float), +v742 var_samp(boolean), +v743 var_samp(tinyint(4)), +v744 var_samp(smallint(6)), +v745 var_samp(int(11)), +v746 var_samp(bigint(20)), +v747 var_samp(largeint(40)), +v748 bitmap_union_int(tinyint(4)), +v749 bitmap_union_int(smallint(6)), +v750 bitmap_union_int(int(11)), +v751 bitmap_union_int(bigint(20)), +v752 variance(double), +v753 variance(float), +v754 variance(boolean), +v755 variance(tinyint(4)), +v756 variance(smallint(6)), +v757 variance(int(11)), +v758 variance(bigint(20)), +v759 variance(largeint(40))) DISTRIBUTED BY HASH(k1) +PROPERTIES ( "replication_num" = "1"); +-- result: +-- !result +insert into test_agg_state_table select k1, array_agg_distinct_state(c0), array_agg_distinct_state(c1), array_agg_distinct_state(c2), array_agg_distinct_state(c3), array_agg_distinct_state(c4), array_agg_distinct_state(c5), array_agg_distinct_state(c6), array_agg_distinct_state(c7), array_agg_distinct_state(c8), array_agg_distinct_state(c8), array_agg_distinct_state(c8), array_agg_distinct_state(c9), array_agg_distinct_state(c10), array_agg_distinct_state(c11), percentile_approx_state(c6, 0.5), percentile_approx_state(c6, 0.5), covar_pop_state(c6, c6), covar_pop_state(c7, c7), covar_pop_state(c0, c0), covar_pop_state(c1, c1), covar_pop_state(c2, c2), covar_pop_state(c3, c3), covar_pop_state(c4, c4), covar_pop_state(c5, c5), count_state(c0), count_state(c1), count_state(c2), count_state(c3), count_state(c4), count_state(c5), count_state(c6), count_state(c7), count_state(c8), count_state(c8), count_state(c8), count_state(c24), count_state(c10), count_state(c11), count_state(c16), count_state(c27), count_state(c28), count_state(c25), count_state(c26), array_unique_agg_state(c12), array_unique_agg_state(c13), array_unique_agg_state(c14), array_unique_agg_state(c15), array_unique_agg_state(c16), array_unique_agg_state(c17), array_unique_agg_state(c18), array_unique_agg_state(c19), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c21), array_unique_agg_state(c22), array_unique_agg_state(c23), percentile_disc_state(c0, 0.5), percentile_disc_state(c1, 0.5), percentile_disc_state(c2, 0.5), percentile_disc_state(c3, 0.5), percentile_disc_state(c4, 0.5), percentile_disc_state(c5, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c9, 0.5), percentile_disc_state(c10, 0.5), percentile_disc_state(c11, 0.5), percentile_disc_state(c6, 0.5), percentile_disc_state(c7, 0.5), multi_distinct_count_state(c0), multi_distinct_count_state(c1), multi_distinct_count_state(c2), multi_distinct_count_state(c3), multi_distinct_count_state(c4), multi_distinct_count_state(c5), multi_distinct_count_state(c6), multi_distinct_count_state(c7), multi_distinct_count_state(c8), multi_distinct_count_state(c8), multi_distinct_count_state(c8), multi_distinct_count_state(c9), multi_distinct_count_state(c10), multi_distinct_count_state(c11), array_agg_state(c24), stddev_samp_state(c6), stddev_samp_state(c7), stddev_samp_state(c0), stddev_samp_state(c1), stddev_samp_state(c2), stddev_samp_state(c3), stddev_samp_state(c4), stddev_samp_state(c5), mann_whitney_u_test_state(c6, c0, 'two-sided', 0), mann_whitney_u_test_state(c6, c0, 'less'), mann_whitney_u_test_state(c6, c0, 'two-sided', 0), max_state(c0), max_state(c1), max_state(c2), max_state(c3), max_state(c4), max_state(c5), max_state(c6), max_state(c7), max_state(c8), max_state(c8), max_state(c8), max_state(c24), max_state(c10), max_state(c11), ds_hll_count_distinct_state(c0, 18, 'hll_6'), ds_hll_count_distinct_state(c0, 18), ds_hll_count_distinct_state(c0, 18, 'hll_6'), ds_hll_count_distinct_state(c1, 18, 'hll_6'), ds_hll_count_distinct_state(c1, 18), ds_hll_count_distinct_state(c1, 18, 'hll_6'), ds_hll_count_distinct_state(c2, 18, 'hll_6'), ds_hll_count_distinct_state(c2, 18), ds_hll_count_distinct_state(c2, 18, 'hll_6'), ds_hll_count_distinct_state(c3, 18, 'hll_6'), ds_hll_count_distinct_state(c3, 18), ds_hll_count_distinct_state(c3, 18, 'hll_6'), ds_hll_count_distinct_state(c4, 18, 'hll_6'), ds_hll_count_distinct_state(c4, 18), ds_hll_count_distinct_state(c4, 18, 'hll_6'), ds_hll_count_distinct_state(c5, 18, 'hll_6'), ds_hll_count_distinct_state(c5, 18), ds_hll_count_distinct_state(c5, 18, 'hll_6'), ds_hll_count_distinct_state(c6, 18, 'hll_6'), ds_hll_count_distinct_state(c6, 18), ds_hll_count_distinct_state(c6, 18, 'hll_6'), ds_hll_count_distinct_state(c7, 18, 'hll_6'), ds_hll_count_distinct_state(c7, 18), ds_hll_count_distinct_state(c7, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c24, 18, 'hll_6'), ds_hll_count_distinct_state(c24, 18), ds_hll_count_distinct_state(c24, 18, 'hll_6'), ds_hll_count_distinct_state(c10, 18, 'hll_6'), ds_hll_count_distinct_state(c10, 18), ds_hll_count_distinct_state(c10, 18, 'hll_6'), ds_hll_count_distinct_state(c11, 18, 'hll_6'), ds_hll_count_distinct_state(c11, 18), ds_hll_count_distinct_state(c11, 18, 'hll_6'), ndv_state(c0), ndv_state(c1), ndv_state(c2), ndv_state(c3), ndv_state(c4), ndv_state(c5), ndv_state(c6), ndv_state(c7), ndv_state(c8), ndv_state(c8), ndv_state(c8), ndv_state(c24), ndv_state(c10), ndv_state(c11), stddev_state(c6), stddev_state(c7), stddev_state(c0), stddev_state(c1), stddev_state(c2), stddev_state(c3), stddev_state(c4), stddev_state(c5), covar_samp_state(c6, c6), covar_samp_state(c7, c7), covar_samp_state(c0, c0), covar_samp_state(c1, c1), covar_samp_state(c2, c2), covar_samp_state(c3, c3), covar_samp_state(c4, c4), covar_samp_state(c5, c5), bitmap_agg_state(c4), bitmap_agg_state(c5), bitmap_agg_state(c3), bitmap_agg_state(c2), bitmap_agg_state(c1), bitmap_agg_state(c0), std_state(c6), std_state(c7), std_state(c0), std_state(c1), std_state(c2), std_state(c3), std_state(c4), std_state(c5), sum_state(c6), sum_state(c7), sum_state(c1), sum_state(c2), sum_state(c3), sum_state(c4), sum_state(c5), sum_state(c8), sum_state(c8), sum_state(c8), approx_count_distinct_state(c0), approx_count_distinct_state(c1), approx_count_distinct_state(c2), approx_count_distinct_state(c3), approx_count_distinct_state(c4), approx_count_distinct_state(c5), approx_count_distinct_state(c6), approx_count_distinct_state(c7), approx_count_distinct_state(c8), approx_count_distinct_state(c8), approx_count_distinct_state(c8), approx_count_distinct_state(c24), approx_count_distinct_state(c10), approx_count_distinct_state(c11), min_state(c0), min_state(c1), min_state(c2), min_state(c3), min_state(c4), min_state(c5), min_state(c6), min_state(c7), min_state(c8), min_state(c8), min_state(c8), min_state(c24), min_state(c10), min_state(c11), retention_state(c12), max_by_state(c0, c0), max_by_state(c1, c0), max_by_state(c2, c0), max_by_state(c3, c0), max_by_state(c4, c0), max_by_state(c5, c0), max_by_state(c6, c0), max_by_state(c7, c0), max_by_state(c8, c0), max_by_state(c8, c0), max_by_state(c8, c0), max_by_state(c24, c0), max_by_state(c10, c0), max_by_state(c11, c0), max_by_state(c25, c0), max_by_state(c0, c1), max_by_state(c1, c1), max_by_state(c2, c1), max_by_state(c3, c1), max_by_state(c4, c1), max_by_state(c5, c1), max_by_state(c6, c1), max_by_state(c7, c1), max_by_state(c8, c1), max_by_state(c8, c1), max_by_state(c8, c1), max_by_state(c24, c1), max_by_state(c10, c1), max_by_state(c11, c1), max_by_state(c25, c1), max_by_state(c0, c2), max_by_state(c1, c2), max_by_state(c2, c2), max_by_state(c3, c2), max_by_state(c4, c2), max_by_state(c5, c2), max_by_state(c6, c2), max_by_state(c7, c2), max_by_state(c8, c2), max_by_state(c8, c2), max_by_state(c8, c2), max_by_state(c24, c2), max_by_state(c10, c2), max_by_state(c11, c2), max_by_state(c25, c2), max_by_state(c0, c3), max_by_state(c1, c3), max_by_state(c2, c3), max_by_state(c3, c3), max_by_state(c4, c3), max_by_state(c5, c3), max_by_state(c6, c3), max_by_state(c7, c3), max_by_state(c8, c3), max_by_state(c8, c3), max_by_state(c8, c3), max_by_state(c24, c3), max_by_state(c10, c3), max_by_state(c11, c3), max_by_state(c25, c3), max_by_state(c0, c4), max_by_state(c1, c4), max_by_state(c2, c4), max_by_state(c3, c4), max_by_state(c4, c4), max_by_state(c5, c4), max_by_state(c6, c4), max_by_state(c7, c4), max_by_state(c8, c4), max_by_state(c8, c4), max_by_state(c8, c4), max_by_state(c24, c4), max_by_state(c10, c4), max_by_state(c11, c4), max_by_state(c25, c4), max_by_state(c0, c5), max_by_state(c1, c5), max_by_state(c2, c5), max_by_state(c3, c5), max_by_state(c4, c5), max_by_state(c5, c5), max_by_state(c6, c5), max_by_state(c7, c5), max_by_state(c8, c5), max_by_state(c8, c5), max_by_state(c8, c5), max_by_state(c24, c5), max_by_state(c10, c5), max_by_state(c11, c5), max_by_state(c25, c5), max_by_state(c0, c6), max_by_state(c1, c6), max_by_state(c2, c6), max_by_state(c3, c6), max_by_state(c4, c6), max_by_state(c5, c6), max_by_state(c6, c6), max_by_state(c7, c6), max_by_state(c8, c6), max_by_state(c8, c6), max_by_state(c8, c6), max_by_state(c24, c6), max_by_state(c10, c6), max_by_state(c11, c6), max_by_state(c25, c6), max_by_state(c0, c7), max_by_state(c1, c7), max_by_state(c2, c7), max_by_state(c3, c7), max_by_state(c4, c7), max_by_state(c5, c7), max_by_state(c6, c7), max_by_state(c7, c7), max_by_state(c8, c7), max_by_state(c8, c7), max_by_state(c8, c7), max_by_state(c24, c7), max_by_state(c10, c7), max_by_state(c11, c7), max_by_state(c25, c7), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c24), max_by_state(c1, c24), max_by_state(c2, c24), max_by_state(c3, c24), max_by_state(c4, c24), max_by_state(c5, c24), max_by_state(c6, c24), max_by_state(c7, c24), max_by_state(c8, c24), max_by_state(c8, c24), max_by_state(c8, c24), max_by_state(c24, c24), max_by_state(c10, c24), max_by_state(c11, c24), max_by_state(c25, c24), max_by_state(c0, c10), max_by_state(c1, c10), max_by_state(c2, c10), max_by_state(c3, c10), max_by_state(c4, c10), max_by_state(c5, c10), max_by_state(c6, c10), max_by_state(c7, c10), max_by_state(c8, c10), max_by_state(c8, c10), max_by_state(c8, c10), max_by_state(c24, c10), max_by_state(c10, c10), max_by_state(c11, c10), max_by_state(c25, c10), max_by_state(c0, c11), max_by_state(c1, c11), max_by_state(c2, c11), max_by_state(c3, c11), max_by_state(c4, c11), max_by_state(c5, c11), max_by_state(c6, c11), max_by_state(c7, c11), max_by_state(c8, c11), max_by_state(c8, c11), max_by_state(c8, c11), max_by_state(c24, c11), max_by_state(c10, c11), max_by_state(c11, c11), max_by_state(c25, c11), min_by_state(c0, c0), min_by_state(c1, c0), min_by_state(c2, c0), min_by_state(c3, c0), min_by_state(c4, c0), min_by_state(c5, c0), min_by_state(c6, c0), min_by_state(c7, c0), min_by_state(c8, c0), min_by_state(c8, c0), min_by_state(c8, c0), min_by_state(c24, c0), min_by_state(c10, c0), min_by_state(c11, c0), min_by_state(c25, c0), min_by_state(c0, c1), min_by_state(c1, c1), min_by_state(c2, c1), min_by_state(c3, c1), min_by_state(c4, c1), min_by_state(c5, c1), min_by_state(c6, c1), min_by_state(c7, c1), min_by_state(c8, c1), min_by_state(c8, c1), min_by_state(c8, c1), min_by_state(c24, c1), min_by_state(c10, c1), min_by_state(c11, c1), min_by_state(c25, c1), min_by_state(c0, c2), min_by_state(c1, c2), min_by_state(c2, c2), min_by_state(c3, c2), min_by_state(c4, c2), min_by_state(c5, c2), min_by_state(c6, c2), min_by_state(c7, c2), min_by_state(c8, c2), min_by_state(c8, c2), min_by_state(c8, c2), min_by_state(c24, c2), min_by_state(c10, c2), min_by_state(c11, c2), min_by_state(c25, c2), min_by_state(c0, c3), min_by_state(c1, c3), min_by_state(c2, c3), min_by_state(c3, c3), min_by_state(c4, c3), min_by_state(c5, c3), min_by_state(c6, c3), min_by_state(c7, c3), min_by_state(c8, c3), min_by_state(c8, c3), min_by_state(c8, c3), min_by_state(c24, c3), min_by_state(c10, c3), min_by_state(c11, c3), min_by_state(c25, c3), min_by_state(c0, c4), min_by_state(c1, c4), min_by_state(c2, c4), min_by_state(c3, c4), min_by_state(c4, c4), min_by_state(c5, c4), min_by_state(c6, c4), min_by_state(c7, c4), min_by_state(c8, c4), min_by_state(c8, c4), min_by_state(c8, c4), min_by_state(c24, c4), min_by_state(c10, c4), min_by_state(c11, c4), min_by_state(c25, c4), min_by_state(c0, c5), min_by_state(c1, c5), min_by_state(c2, c5), min_by_state(c3, c5), min_by_state(c4, c5), min_by_state(c5, c5), min_by_state(c6, c5), min_by_state(c7, c5), min_by_state(c8, c5), min_by_state(c8, c5), min_by_state(c8, c5), min_by_state(c24, c5), min_by_state(c10, c5), min_by_state(c11, c5), min_by_state(c25, c5), min_by_state(c0, c6), min_by_state(c1, c6), min_by_state(c2, c6), min_by_state(c3, c6), min_by_state(c4, c6), min_by_state(c5, c6), min_by_state(c6, c6), min_by_state(c7, c6), min_by_state(c8, c6), min_by_state(c8, c6), min_by_state(c8, c6), min_by_state(c24, c6), min_by_state(c10, c6), min_by_state(c11, c6), min_by_state(c25, c6), min_by_state(c0, c7), min_by_state(c1, c7), min_by_state(c2, c7), min_by_state(c3, c7), min_by_state(c4, c7), min_by_state(c5, c7), min_by_state(c6, c7), min_by_state(c7, c7), min_by_state(c8, c7), min_by_state(c8, c7), min_by_state(c8, c7), min_by_state(c24, c7), min_by_state(c10, c7), min_by_state(c11, c7), min_by_state(c25, c7), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c24), min_by_state(c1, c24), min_by_state(c2, c24), min_by_state(c3, c24), min_by_state(c4, c24), min_by_state(c5, c24), min_by_state(c6, c24), min_by_state(c7, c24), min_by_state(c8, c24), min_by_state(c8, c24), min_by_state(c8, c24), min_by_state(c24, c24), min_by_state(c10, c24), min_by_state(c11, c24), min_by_state(c25, c24), min_by_state(c0, c10), min_by_state(c1, c10), min_by_state(c2, c10), min_by_state(c3, c10), min_by_state(c4, c10), min_by_state(c5, c10), min_by_state(c6, c10), min_by_state(c7, c10), min_by_state(c8, c10), min_by_state(c8, c10), min_by_state(c8, c10), min_by_state(c24, c10), min_by_state(c10, c10), min_by_state(c11, c10), min_by_state(c25, c10), min_by_state(c0, c11), min_by_state(c1, c11), min_by_state(c2, c11), min_by_state(c3, c11), min_by_state(c4, c11), min_by_state(c5, c11), min_by_state(c6, c11), min_by_state(c7, c11), min_by_state(c8, c11), min_by_state(c8, c11), min_by_state(c8, c11), min_by_state(c24, c11), min_by_state(c10, c11), min_by_state(c11, c11), min_by_state(c25, c11), variance_pop_state(c6), variance_pop_state(c7), variance_pop_state(c0), variance_pop_state(c1), variance_pop_state(c2), variance_pop_state(c3), variance_pop_state(c4), variance_pop_state(c5), avg_state(c6), avg_state(c7), avg_state(c1), avg_state(c2), avg_state(c3), avg_state(c4), avg_state(c5), avg_state(c8), avg_state(c8), avg_state(c8), any_value_state(c0), any_value_state(c1), any_value_state(c2), any_value_state(c3), any_value_state(c4), any_value_state(c5), any_value_state(c6), any_value_state(c7), any_value_state(c8), any_value_state(c8), any_value_state(c8), any_value_state(c24), any_value_state(c10), any_value_state(c11), any_value_state(c16), any_value_state(c27), any_value_state(c28), any_value_state(c25), any_value_state(c26), var_pop_state(c6), var_pop_state(c7), var_pop_state(c0), var_pop_state(c1), var_pop_state(c2), var_pop_state(c3), var_pop_state(c4), var_pop_state(c5), stddev_pop_state(c6), stddev_pop_state(c7), stddev_pop_state(c0), stddev_pop_state(c1), stddev_pop_state(c2), stddev_pop_state(c3), stddev_pop_state(c4), stddev_pop_state(c5), variance_samp_state(c6), variance_samp_state(c7), variance_samp_state(c0), variance_samp_state(c1), variance_samp_state(c2), variance_samp_state(c3), variance_samp_state(c4), variance_samp_state(c5), percentile_cont_state(c10, 0.5), percentile_cont_state(c11, 0.5), percentile_cont_state(c6, 0.5), corr_state(c6, c6), corr_state(c7, c7), corr_state(c0, c0), corr_state(c1, c1), corr_state(c2, c2), corr_state(c3, c3), corr_state(c4, c4), corr_state(c5, c5), multi_distinct_sum_state(c6), multi_distinct_sum_state(c7), multi_distinct_sum_state(c0), multi_distinct_sum_state(c1), multi_distinct_sum_state(c2), multi_distinct_sum_state(c3), multi_distinct_sum_state(c4), multi_distinct_sum_state(c5), multi_distinct_sum_state(c8), multi_distinct_sum_state(c8), multi_distinct_sum_state(c8), var_samp_state(c6), var_samp_state(c7), var_samp_state(c0), var_samp_state(c1), var_samp_state(c2), var_samp_state(c3), var_samp_state(c4), var_samp_state(c5), bitmap_union_int_state(c1), bitmap_union_int_state(c2), bitmap_union_int_state(c3), bitmap_union_int_state(c4), variance_state(c6), variance_state(c7), variance_state(c0), variance_state(c1), variance_state(c2), variance_state(c3), variance_state(c4), variance_state(c5) from t1; +-- result: +-- !result +[UC] select k1, array_agg_distinct_union(v0), array_agg_distinct_union(v1), array_agg_distinct_union(v2), array_agg_distinct_union(v3), array_agg_distinct_union(v4), array_agg_distinct_union(v5), array_agg_distinct_union(v6), array_agg_distinct_union(v7), array_agg_distinct_union(v8), array_agg_distinct_union(v9), array_agg_distinct_union(v10), array_agg_distinct_union(v11), array_agg_distinct_union(v12), array_agg_distinct_union(v13), percentile_approx_union(v14), percentile_approx_union(v15), covar_pop_union(v16), covar_pop_union(v17), covar_pop_union(v18), covar_pop_union(v19), covar_pop_union(v20), covar_pop_union(v21), covar_pop_union(v22), covar_pop_union(v23), count_union(v24), count_union(v25), count_union(v26), count_union(v27), count_union(v28), count_union(v29), count_union(v30), count_union(v31), count_union(v32), count_union(v33), count_union(v34), count_union(v35), count_union(v36), count_union(v37), count_union(v38), count_union(v39), count_union(v40), count_union(v41), count_union(v42), array_unique_agg_union(v43), array_unique_agg_union(v44), array_unique_agg_union(v45), array_unique_agg_union(v46), array_unique_agg_union(v47), array_unique_agg_union(v48), array_unique_agg_union(v49), array_unique_agg_union(v50), array_unique_agg_union(v51), array_unique_agg_union(v52), array_unique_agg_union(v53), array_unique_agg_union(v54), array_unique_agg_union(v55), array_unique_agg_union(v56), array_unique_agg_union(v57), percentile_disc_union(v58), percentile_disc_union(v59), percentile_disc_union(v60), percentile_disc_union(v61), percentile_disc_union(v62), percentile_disc_union(v63), percentile_disc_union(v64), percentile_disc_union(v65), percentile_disc_union(v66), percentile_disc_union(v67), percentile_disc_union(v68), percentile_disc_union(v69), percentile_disc_union(v70), percentile_disc_union(v71), multi_distinct_count_union(v72), multi_distinct_count_union(v73), multi_distinct_count_union(v74), multi_distinct_count_union(v75), multi_distinct_count_union(v76), multi_distinct_count_union(v77), multi_distinct_count_union(v78), multi_distinct_count_union(v79), multi_distinct_count_union(v80), multi_distinct_count_union(v81), multi_distinct_count_union(v82), multi_distinct_count_union(v83), multi_distinct_count_union(v84), multi_distinct_count_union(v85), array_agg_union(v86), stddev_samp_union(v87), stddev_samp_union(v88), stddev_samp_union(v89), stddev_samp_union(v90), stddev_samp_union(v91), stddev_samp_union(v92), stddev_samp_union(v93), stddev_samp_union(v94), mann_whitney_u_test_union(v95), mann_whitney_u_test_union(v96), mann_whitney_u_test_union(v97), max_union(v98), max_union(v99), max_union(v100), max_union(v101), max_union(v102), max_union(v103), max_union(v104), max_union(v105), max_union(v106), max_union(v107), max_union(v108), max_union(v109), max_union(v110), max_union(v111), ds_hll_count_distinct_union(v112), ds_hll_count_distinct_union(v113), ds_hll_count_distinct_union(v114), ds_hll_count_distinct_union(v115), ds_hll_count_distinct_union(v116), ds_hll_count_distinct_union(v117), ds_hll_count_distinct_union(v118), ds_hll_count_distinct_union(v119), ds_hll_count_distinct_union(v120), ds_hll_count_distinct_union(v121), ds_hll_count_distinct_union(v122), ds_hll_count_distinct_union(v123), ds_hll_count_distinct_union(v124), ds_hll_count_distinct_union(v125), ds_hll_count_distinct_union(v126), ds_hll_count_distinct_union(v127), ds_hll_count_distinct_union(v128), ds_hll_count_distinct_union(v129), ds_hll_count_distinct_union(v130), ds_hll_count_distinct_union(v131), ds_hll_count_distinct_union(v132), ds_hll_count_distinct_union(v133), ds_hll_count_distinct_union(v134), ds_hll_count_distinct_union(v135), ds_hll_count_distinct_union(v136), ds_hll_count_distinct_union(v137), ds_hll_count_distinct_union(v138), ds_hll_count_distinct_union(v139), ds_hll_count_distinct_union(v140), ds_hll_count_distinct_union(v141), ds_hll_count_distinct_union(v142), ds_hll_count_distinct_union(v143), ds_hll_count_distinct_union(v144), ds_hll_count_distinct_union(v145), ds_hll_count_distinct_union(v146), ds_hll_count_distinct_union(v147), ds_hll_count_distinct_union(v148), ds_hll_count_distinct_union(v149), ds_hll_count_distinct_union(v150), ds_hll_count_distinct_union(v151), ds_hll_count_distinct_union(v152), ds_hll_count_distinct_union(v153), ndv_union(v154), ndv_union(v155), ndv_union(v156), ndv_union(v157), ndv_union(v158), ndv_union(v159), ndv_union(v160), ndv_union(v161), ndv_union(v162), ndv_union(v163), ndv_union(v164), ndv_union(v165), ndv_union(v166), ndv_union(v167), stddev_union(v168), stddev_union(v169), stddev_union(v170), stddev_union(v171), stddev_union(v172), stddev_union(v173), stddev_union(v174), stddev_union(v175), covar_samp_union(v176), covar_samp_union(v177), covar_samp_union(v178), covar_samp_union(v179), covar_samp_union(v180), covar_samp_union(v181), covar_samp_union(v182), covar_samp_union(v183), bitmap_agg_union(v184), bitmap_agg_union(v185), bitmap_agg_union(v186), bitmap_agg_union(v187), bitmap_agg_union(v188), bitmap_agg_union(v189), std_union(v190), std_union(v191), std_union(v192), std_union(v193), std_union(v194), std_union(v195), std_union(v196), std_union(v197), sum_union(v198), sum_union(v199), sum_union(v200), sum_union(v201), sum_union(v202), sum_union(v203), sum_union(v204), sum_union(v205), sum_union(v206), sum_union(v207), approx_count_distinct_union(v208), approx_count_distinct_union(v209), approx_count_distinct_union(v210), approx_count_distinct_union(v211), approx_count_distinct_union(v212), approx_count_distinct_union(v213), approx_count_distinct_union(v214), approx_count_distinct_union(v215), approx_count_distinct_union(v216), approx_count_distinct_union(v217), approx_count_distinct_union(v218), approx_count_distinct_union(v219), approx_count_distinct_union(v220), approx_count_distinct_union(v221), min_union(v222), min_union(v223), min_union(v224), min_union(v225), min_union(v226), min_union(v227), min_union(v228), min_union(v229), min_union(v230), min_union(v231), min_union(v232), min_union(v233), min_union(v234), min_union(v235), retention_union(v236), max_by_union(v237), max_by_union(v238), max_by_union(v239), max_by_union(v240), max_by_union(v241), max_by_union(v242), max_by_union(v243), max_by_union(v244), max_by_union(v245), max_by_union(v246), max_by_union(v247), max_by_union(v248), max_by_union(v249), max_by_union(v250), max_by_union(v251), max_by_union(v252), max_by_union(v253), max_by_union(v254), max_by_union(v255), max_by_union(v256), max_by_union(v257), max_by_union(v258), max_by_union(v259), max_by_union(v260), max_by_union(v261), max_by_union(v262), max_by_union(v263), max_by_union(v264), max_by_union(v265), max_by_union(v266), max_by_union(v267), max_by_union(v268), max_by_union(v269), max_by_union(v270), max_by_union(v271), max_by_union(v272), max_by_union(v273), max_by_union(v274), max_by_union(v275), max_by_union(v276), max_by_union(v277), max_by_union(v278), max_by_union(v279), max_by_union(v280), max_by_union(v281), max_by_union(v282), max_by_union(v283), max_by_union(v284), max_by_union(v285), max_by_union(v286), max_by_union(v287), max_by_union(v288), max_by_union(v289), max_by_union(v290), max_by_union(v291), max_by_union(v292), max_by_union(v293), max_by_union(v294), max_by_union(v295), max_by_union(v296), max_by_union(v297), max_by_union(v298), max_by_union(v299), max_by_union(v300), max_by_union(v301), max_by_union(v302), max_by_union(v303), max_by_union(v304), max_by_union(v305), max_by_union(v306), max_by_union(v307), max_by_union(v308), max_by_union(v309), max_by_union(v310), max_by_union(v311), max_by_union(v312), max_by_union(v313), max_by_union(v314), max_by_union(v315), max_by_union(v316), max_by_union(v317), max_by_union(v318), max_by_union(v319), max_by_union(v320), max_by_union(v321), max_by_union(v322), max_by_union(v323), max_by_union(v324), max_by_union(v325), max_by_union(v326), max_by_union(v327), max_by_union(v328), max_by_union(v329), max_by_union(v330), max_by_union(v331), max_by_union(v332), max_by_union(v333), max_by_union(v334), max_by_union(v335), max_by_union(v336), max_by_union(v337), max_by_union(v338), max_by_union(v339), max_by_union(v340), max_by_union(v341), max_by_union(v342), max_by_union(v343), max_by_union(v344), max_by_union(v345), max_by_union(v346), max_by_union(v347), max_by_union(v348), max_by_union(v349), max_by_union(v350), max_by_union(v351), max_by_union(v352), max_by_union(v353), max_by_union(v354), max_by_union(v355), max_by_union(v356), max_by_union(v357), max_by_union(v358), max_by_union(v359), max_by_union(v360), max_by_union(v361), max_by_union(v362), max_by_union(v363), max_by_union(v364), max_by_union(v365), max_by_union(v366), max_by_union(v367), max_by_union(v368), max_by_union(v369), max_by_union(v370), max_by_union(v371), max_by_union(v372), max_by_union(v373), max_by_union(v374), max_by_union(v375), max_by_union(v376), max_by_union(v377), max_by_union(v378), max_by_union(v379), max_by_union(v380), max_by_union(v381), max_by_union(v382), max_by_union(v383), max_by_union(v384), max_by_union(v385), max_by_union(v386), max_by_union(v387), max_by_union(v388), max_by_union(v389), max_by_union(v390), max_by_union(v391), max_by_union(v392), max_by_union(v393), max_by_union(v394), max_by_union(v395), max_by_union(v396), max_by_union(v397), max_by_union(v398), max_by_union(v399), max_by_union(v400), max_by_union(v401), max_by_union(v402), max_by_union(v403), max_by_union(v404), max_by_union(v405), max_by_union(v406), max_by_union(v407), max_by_union(v408), max_by_union(v409), max_by_union(v410), max_by_union(v411), max_by_union(v412), max_by_union(v413), max_by_union(v414), max_by_union(v415), max_by_union(v416), max_by_union(v417), max_by_union(v418), max_by_union(v419), max_by_union(v420), max_by_union(v421), max_by_union(v422), max_by_union(v423), max_by_union(v424), max_by_union(v425), max_by_union(v426), max_by_union(v427), max_by_union(v428), max_by_union(v429), max_by_union(v430), max_by_union(v431), max_by_union(v432), max_by_union(v433), max_by_union(v434), max_by_union(v435), max_by_union(v436), max_by_union(v437), max_by_union(v438), max_by_union(v439), max_by_union(v440), max_by_union(v441), max_by_union(v442), max_by_union(v443), max_by_union(v444), max_by_union(v445), max_by_union(v446), min_by_union(v447), min_by_union(v448), min_by_union(v449), min_by_union(v450), min_by_union(v451), min_by_union(v452), min_by_union(v453), min_by_union(v454), min_by_union(v455), min_by_union(v456), min_by_union(v457), min_by_union(v458), min_by_union(v459), min_by_union(v460), min_by_union(v461), min_by_union(v462), min_by_union(v463), min_by_union(v464), min_by_union(v465), min_by_union(v466), min_by_union(v467), min_by_union(v468), min_by_union(v469), min_by_union(v470), min_by_union(v471), min_by_union(v472), min_by_union(v473), min_by_union(v474), min_by_union(v475), min_by_union(v476), min_by_union(v477), min_by_union(v478), min_by_union(v479), min_by_union(v480), min_by_union(v481), min_by_union(v482), min_by_union(v483), min_by_union(v484), min_by_union(v485), min_by_union(v486), min_by_union(v487), min_by_union(v488), min_by_union(v489), min_by_union(v490), min_by_union(v491), min_by_union(v492), min_by_union(v493), min_by_union(v494), min_by_union(v495), min_by_union(v496), min_by_union(v497), min_by_union(v498), min_by_union(v499), min_by_union(v500), min_by_union(v501), min_by_union(v502), min_by_union(v503), min_by_union(v504), min_by_union(v505), min_by_union(v506), min_by_union(v507), min_by_union(v508), min_by_union(v509), min_by_union(v510), min_by_union(v511), min_by_union(v512), min_by_union(v513), min_by_union(v514), min_by_union(v515), min_by_union(v516), min_by_union(v517), min_by_union(v518), min_by_union(v519), min_by_union(v520), min_by_union(v521), min_by_union(v522), min_by_union(v523), min_by_union(v524), min_by_union(v525), min_by_union(v526), min_by_union(v527), min_by_union(v528), min_by_union(v529), min_by_union(v530), min_by_union(v531), min_by_union(v532), min_by_union(v533), min_by_union(v534), min_by_union(v535), min_by_union(v536), min_by_union(v537), min_by_union(v538), min_by_union(v539), min_by_union(v540), min_by_union(v541), min_by_union(v542), min_by_union(v543), min_by_union(v544), min_by_union(v545), min_by_union(v546), min_by_union(v547), min_by_union(v548), min_by_union(v549), min_by_union(v550), min_by_union(v551), min_by_union(v552), min_by_union(v553), min_by_union(v554), min_by_union(v555), min_by_union(v556), min_by_union(v557), min_by_union(v558), min_by_union(v559), min_by_union(v560), min_by_union(v561), min_by_union(v562), min_by_union(v563), min_by_union(v564), min_by_union(v565), min_by_union(v566), min_by_union(v567), min_by_union(v568), min_by_union(v569), min_by_union(v570), min_by_union(v571), min_by_union(v572), min_by_union(v573), min_by_union(v574), min_by_union(v575), min_by_union(v576), min_by_union(v577), min_by_union(v578), min_by_union(v579), min_by_union(v580), min_by_union(v581), min_by_union(v582), min_by_union(v583), min_by_union(v584), min_by_union(v585), min_by_union(v586), min_by_union(v587), min_by_union(v588), min_by_union(v589), min_by_union(v590), min_by_union(v591), min_by_union(v592), min_by_union(v593), min_by_union(v594), min_by_union(v595), min_by_union(v596), min_by_union(v597), min_by_union(v598), min_by_union(v599), min_by_union(v600), min_by_union(v601), min_by_union(v602), min_by_union(v603), min_by_union(v604), min_by_union(v605), min_by_union(v606), min_by_union(v607), min_by_union(v608), min_by_union(v609), min_by_union(v610), min_by_union(v611), min_by_union(v612), min_by_union(v613), min_by_union(v614), min_by_union(v615), min_by_union(v616), min_by_union(v617), min_by_union(v618), min_by_union(v619), min_by_union(v620), min_by_union(v621), min_by_union(v622), min_by_union(v623), min_by_union(v624), min_by_union(v625), min_by_union(v626), min_by_union(v627), min_by_union(v628), min_by_union(v629), min_by_union(v630), min_by_union(v631), min_by_union(v632), min_by_union(v633), min_by_union(v634), min_by_union(v635), min_by_union(v636), min_by_union(v637), min_by_union(v638), min_by_union(v639), min_by_union(v640), min_by_union(v641), min_by_union(v642), min_by_union(v643), min_by_union(v644), min_by_union(v645), min_by_union(v646), min_by_union(v647), min_by_union(v648), min_by_union(v649), min_by_union(v650), min_by_union(v651), min_by_union(v652), min_by_union(v653), min_by_union(v654), min_by_union(v655), min_by_union(v656), variance_pop_union(v657), variance_pop_union(v658), variance_pop_union(v659), variance_pop_union(v660), variance_pop_union(v661), variance_pop_union(v662), variance_pop_union(v663), variance_pop_union(v664), avg_union(v665), avg_union(v666), avg_union(v667), avg_union(v668), avg_union(v669), avg_union(v670), avg_union(v671), avg_union(v672), avg_union(v673), avg_union(v674), any_value_union(v675), any_value_union(v676), any_value_union(v677), any_value_union(v678), any_value_union(v679), any_value_union(v680), any_value_union(v681), any_value_union(v682), any_value_union(v683), any_value_union(v684), any_value_union(v685), any_value_union(v686), any_value_union(v687), any_value_union(v688), any_value_union(v689), any_value_union(v690), any_value_union(v691), any_value_union(v692), any_value_union(v693), var_pop_union(v694), var_pop_union(v695), var_pop_union(v696), var_pop_union(v697), var_pop_union(v698), var_pop_union(v699), var_pop_union(v700), var_pop_union(v701), stddev_pop_union(v702), stddev_pop_union(v703), stddev_pop_union(v704), stddev_pop_union(v705), stddev_pop_union(v706), stddev_pop_union(v707), stddev_pop_union(v708), stddev_pop_union(v709), variance_samp_union(v710), variance_samp_union(v711), variance_samp_union(v712), variance_samp_union(v713), variance_samp_union(v714), variance_samp_union(v715), variance_samp_union(v716), variance_samp_union(v717), percentile_cont_union(v718), percentile_cont_union(v719), percentile_cont_union(v720), corr_union(v721), corr_union(v722), corr_union(v723), corr_union(v724), corr_union(v725), corr_union(v726), corr_union(v727), corr_union(v728), multi_distinct_sum_union(v729), multi_distinct_sum_union(v730), multi_distinct_sum_union(v731), multi_distinct_sum_union(v732), multi_distinct_sum_union(v733), multi_distinct_sum_union(v734), multi_distinct_sum_union(v735), multi_distinct_sum_union(v736), multi_distinct_sum_union(v737), multi_distinct_sum_union(v738), multi_distinct_sum_union(v739), var_samp_union(v740), var_samp_union(v741), var_samp_union(v742), var_samp_union(v743), var_samp_union(v744), var_samp_union(v745), var_samp_union(v746), var_samp_union(v747), bitmap_union_int_union(v748), bitmap_union_int_union(v749), bitmap_union_int_union(v750), bitmap_union_int_union(v751), variance_union(v752), variance_union(v753), variance_union(v754), variance_union(v755), variance_union(v756), variance_union(v757), variance_union(v758), variance_union(v759) from test_agg_state_table group by k1; +-- result: +2024-01-01 [1] [127] [32000] [2147483647] [9223372036854775807] [170141183460469231731687303715884105727] [12345.6789] [12345.67] [123.46] [123.46] [123.46] ["ExampleCharData"] ["2024-01-02"] ["2024-01-01 12:34:56"] b'\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00zD\xff\xff\x7f\x7f\xff\xff\x7f\xff\xd0\x07\x00\x00\x00\x00\x00\x00@\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?\x00\x00\x00\x00\x01\x00\x00\x00\xb7\xe6@F\x00\x00\x80?\x01\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00zD\xff\xff\x7f\x7f\xff\xff\x7f\xff\xd0\x07\x00\x00\x00\x00\x00\x00@\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?\x00\x00\x00\x00\x01\x00\x00\x00\xb7\xe6@F\x00\x00\x80?\x01\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x80' b'\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [0,1] [-1,1,127] [-100,32767,100] [-100000,100000,2147483647] [-10000000000,10000000000,9223372036854775807] [12345678901234567890,-12345678901234567890,170141183460469231731687303715884105727] [1.23,4.56,7.89] [7.89,1.23,4.56] [1.23,2.35,3.46] [1.23,2.35,3.46] [1.23,2.35,3.46] [1.23,2.35,3.46] ["def","ghi","abc"] ["2024-01-01","2024-01-02"] ["2024-01-01 12:34:56","2024-01-02 12:34:56"] b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x01' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x00}' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00ExampleCharData' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' b'\x01\x00\x00\x00\x00\x00\x00\x00\x01g\xe3t\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x7fg\xe3t\xcc\x7f\x00\x00@g\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x00}\xe3t\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f\xcc\x7f\x00\x00\x10g\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F\xcc\x7f\x00\x000h\xe3t\xcc\x7f\x00\x00' :0 b'\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xc0h\xe3t\xcc\x7f\x00\x00' :0 ExampleCharData b'\x01\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%\xb0i\xe3t\xcc\x7f\x00\x00' {"col1":["ExampleVarcharData"]} b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00' 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 b'\x02\x01\x07\x12\x03\x08\x01\x08\xefd\x8f\x0b' b'\x02\x01\x07\x12\x03\x08\x01\x08\xefd\x8f\x0b' b'\x02\x01\x07\x12\x03\x08\x01\x08\xefd\x8f\x0b' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x01\x08\xb0Lw\x14' b'\x02\x01\x07\x12\x03\x08\x01\x08\xb0Lw\x14' b'\x02\x01\x07\x12\x03\x08\x01\x08\xb0Lw\x14' b'\x02\x01\x07\x12\x03\x08\x01\x08\x1f\xc0\xfa\x08' b'\x02\x01\x07\x12\x03\x08\x01\x08\x1f\xc0\xfa\x08' b'\x02\x01\x07\x12\x03\x08\x01\x08\x1f\xc0\xfa\x08' cTv cTv cTv b'\x02\x01\x07\x12\x03\x08\x01\x08\x85f\xf7\n' b'\x02\x01\x07\x12\x03\x08\x01\x08\x85f\xf7\n' b'\x02\x01\x07\x12\x03\x08\x01\x08\x85f\xf7\n' b'\x02\x01\x07\x12\x03\x08\x01\x08\xd4<\xe1\t' b'\x02\x01\x07\x12\x03\x08\x01\x08\xd4<\xe1\t' b'\x02\x01\x07\x12\x03\x08\x01\x08\xd4<\xe1\t' b'\x02\x01\x07\x12\x03\x08\x01\x08\xf5x\xd7\x07' b'\x02\x01\x07\x12\x03\x08\x01\x08\xf5x\xd7\x07' b'\x02\x01\x07\x12\x03\x08\x01\x08\xf5x\xd7\x07' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x97\xe0\x85\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x01\x08\r\xe3\xe0\x05' b'\x02\x01\x07\x12\x03\x08\x01\x08\r\xe3\xe0\x05' b'\x02\x01\x07\x12\x03\x08\x01\x08\r\xe3\xe0\x05' b'\x02\x01\x07\x12\x03\x08\x01\x08\xc87\xe1\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\xc87\xe1\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\xc87\xe1\x06' b'\x01\x01\x06\xa5\x9cS\xe3\xb8e2' b'\x01\x01:\x00^\x08A)\xa0\xb8' b'\x01\x01\x911\xac\x01\xa2\x98T\xc3' b'\x01\x01\x85\xce\x91b\xef\x80\xb7F' b'\x01\x01]\xd3\xd5\xf1/\xebWU' b'\x01\x014\x03/\x96\xe1\x9e\xd8/' b'\x01\x01\x16\xa8\x87\xc4:\x06\x9b\xb7' b'\x01\x01wv\xea\xdf\xa8\x08e\x99' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01\xb5\xd9\x842;_\xb7\xf5' b'\x01\x01\xcf\x93\xbd\xca\x91\xf2\x7fr' b'\x01\x01\x15\x9a&5\x04\xa8\x15R' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' None None None None None None b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' 12345.6789 12345.669921875 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 123.46 123.46 123.46 b'\x01\x01\x06\xa5\x9cS\xe3\xb8e2' b'\x01\x01:\x00^\x08A)\xa0\xb8' b'\x01\x01\x911\xac\x01\xa2\x98T\xc3' b'\x01\x01\x85\xce\x91b\xef\x80\xb7F' b'\x01\x01]\xd3\xd5\xf1/\xebWU' b'\x01\x014\x03/\x96\xe1\x9e\xd8/' b'\x01\x01\x16\xa8\x87\xc4:\x06\x9b\xb7' b'\x01\x01wv\xea\xdf\xa8\x08e\x99' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01,8\xd7Jp\x10@j' b'\x01\x01\xb5\xd9\x842;_\xb7\xf5' b'\x01\x01\xcf\x93\xbd\xca\x91\xf2\x7fr' b'\x01\x01\x15\x9a&5\x04\xa8\x15R' 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 -6917529027641081853   } b'\x01\x00\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x01\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x01\x00\x98\x8a%\x00' b'\x01\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue   } b'\x7f\x00\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x7f\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x7f\x00\x98\x8a%\x00' b'\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue } } }} b'\x00}\x00\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00}\x00\xae\xe6@F' }:0 }:0 }:0 }ExampleVarcharData b'\x00}\x00\x98\x8a%\x00' b'\x00}\x00\x00\x1c\xda\x8b\n\x97\x8a%' } CkeyEvalue b'\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00}' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xae\xe6@F' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x98\x8a%\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x14\rCkeyEvalue\x01' b'\xae\xe6@F\x00\x01' b'\xae\xe6@F\x00\x7f' b'\xae\xe6@F\x00\x00}' b'\xae\xe6@F\x00\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xae\xe6@F\x00\xae\xe6@F' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00\x12\x00\x00\x00ExampleVarcharData' b'\xae\xe6@F\x00\x98\x8a%\x00' b'\xae\xe6@F\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xae\xe6@F\x00\x14\rCkeyEvalue\x01' :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue ExampleVarcharData ExampleVarcharData ExampleVarcharData} b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x10\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharDataExampleVarcharData b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' ExampleVarcharData  CkeyEvalue b'\x98\x8a%\x00\x00\x01' b'\x98\x8a%\x00\x00\x7f' b'\x98\x8a%\x00\x00\x00}' b'\x98\x8a%\x00\x00\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x98\x8a%\x00\x00\xae\xe6@F' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\x98\x8a%\x00\x00\x98\x8a%\x00' b'\x98\x8a%\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x98\x8a%\x00\x00\x14\rCkeyEvalue\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00}' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xae\xe6@F' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x12\x00\x00\x00ExampleVarcharData' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x98\x8a%\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x14\rCkeyEvalue\x01'   } b'\x01\x00\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x01\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x01\x00\x98\x8a%\x00' b'\x01\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue   } b'\x7f\x00\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x7f\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x7f\x00\x98\x8a%\x00' b'\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue } } }} b'\x00}\x00\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00}\x00\xae\xe6@F' }:0 }:0 }:0 }ExampleVarcharData b'\x00}\x00\x98\x8a%\x00' b'\x00}\x00\x00\x1c\xda\x8b\n\x97\x8a%' } CkeyEvalue b'\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00}' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xae\xe6@F' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x98\x8a%\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x14\rCkeyEvalue\x01' b'\xae\xe6@F\x00\x01' b'\xae\xe6@F\x00\x7f' b'\xae\xe6@F\x00\x00}' b'\xae\xe6@F\x00\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xae\xe6@F\x00\xae\xe6@F' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00\x12\x00\x00\x00ExampleVarcharData' b'\xae\xe6@F\x00\x98\x8a%\x00' b'\xae\xe6@F\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xae\xe6@F\x00\x14\rCkeyEvalue\x01' :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue ExampleVarcharData ExampleVarcharData ExampleVarcharData} b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x10\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharDataExampleVarcharData b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' ExampleVarcharData  CkeyEvalue b'\x98\x8a%\x00\x00\x01' b'\x98\x8a%\x00\x00\x7f' b'\x98\x8a%\x00\x00\x00}' b'\x98\x8a%\x00\x00\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x98\x8a%\x00\x00\xae\xe6@F' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\x98\x8a%\x00\x00\x98\x8a%\x00' b'\x98\x8a%\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x98\x8a%\x00\x00\x14\rCkeyEvalue\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00}' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xae\xe6@F' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x12\x00\x00\x00ExampleVarcharData' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x98\x8a%\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x14\rCkeyEvalue\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x01\x00\x00\x00\x00\x00\x00\x00' :0 :0 :0 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 [10000000000,-10000000000,9223372036854775807] {"key1":"value1","key2":"value2"} {"col1":null} {"key": "value"} MyVarbinaryData b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x00\x00\x00\x00\x00\x00\xe0?\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@`V\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x01X\xe3t\xcc\x7f\x00\x00\x90V\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x7fW\xe3t\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x00}\xe3t\xcc\x7f\x00\x00PW\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f\xf0V\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xd0X\xe3t\xcc\x7f\x00\x00' :0 b'\x01\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\x00Y\xe3t\xcc\x7f\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' None None None None b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\xc0\xd5\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00@\xdf@\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xc0\xff\xff\xff\xdfA\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0C\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0G\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' +-- !result +select k1, array_agg_distinct_merge(v0),array_agg_distinct_merge(v1),array_agg_distinct_merge(v2),array_agg_distinct_merge(v3),array_agg_distinct_merge(v4),array_agg_distinct_merge(v5),array_agg_distinct_merge(v6),array_agg_distinct_merge(v7),array_agg_distinct_merge(v8),array_agg_distinct_merge(v9),array_agg_distinct_merge(v10),array_agg_distinct_merge(v11),array_agg_distinct_merge(v12),array_agg_distinct_merge(v13),percentile_approx_merge(v14),percentile_approx_merge(v15),covar_pop_merge(v16),covar_pop_merge(v17),covar_pop_merge(v18),covar_pop_merge(v19),covar_pop_merge(v20),covar_pop_merge(v21),covar_pop_merge(v22),covar_pop_merge(v23),count_merge(v24),count_merge(v25),count_merge(v26),count_merge(v27),count_merge(v28),count_merge(v29),count_merge(v30),count_merge(v31),count_merge(v32),count_merge(v33),count_merge(v34),count_merge(v35),count_merge(v36),count_merge(v37),count_merge(v38),count_merge(v39),count_merge(v40),count_merge(v41),count_merge(v42),array_unique_agg_merge(v43),array_unique_agg_merge(v44),array_unique_agg_merge(v45),array_unique_agg_merge(v46),array_unique_agg_merge(v47),array_unique_agg_merge(v48),array_unique_agg_merge(v49),array_unique_agg_merge(v50),array_unique_agg_merge(v51),array_unique_agg_merge(v52),array_unique_agg_merge(v53),array_unique_agg_merge(v54),array_unique_agg_merge(v55),array_unique_agg_merge(v56),array_unique_agg_merge(v57),percentile_disc_merge(v58),percentile_disc_merge(v59),percentile_disc_merge(v60),percentile_disc_merge(v61),percentile_disc_merge(v62),percentile_disc_merge(v63),percentile_disc_merge(v64),percentile_disc_merge(v65),percentile_disc_merge(v66),percentile_disc_merge(v67),percentile_disc_merge(v68),percentile_disc_merge(v69),percentile_disc_merge(v70),percentile_disc_merge(v71),multi_distinct_count_merge(v72),multi_distinct_count_merge(v73),multi_distinct_count_merge(v74),multi_distinct_count_merge(v75),multi_distinct_count_merge(v76),multi_distinct_count_merge(v77),multi_distinct_count_merge(v78),multi_distinct_count_merge(v79),multi_distinct_count_merge(v80),multi_distinct_count_merge(v81),multi_distinct_count_merge(v82),multi_distinct_count_merge(v83),multi_distinct_count_merge(v84),multi_distinct_count_merge(v85),array_agg_merge(v86),stddev_samp_merge(v87),stddev_samp_merge(v88),stddev_samp_merge(v89),stddev_samp_merge(v90),stddev_samp_merge(v91),stddev_samp_merge(v92),stddev_samp_merge(v93),stddev_samp_merge(v94),mann_whitney_u_test_merge(v95),mann_whitney_u_test_merge(v96),mann_whitney_u_test_merge(v97),max_merge(v98),max_merge(v99),max_merge(v100),max_merge(v101),max_merge(v102),max_merge(v103),max_merge(v104),max_merge(v105),max_merge(v106),max_merge(v107),max_merge(v108),max_merge(v109),max_merge(v110),max_merge(v111),ds_hll_count_distinct_merge(v112),ds_hll_count_distinct_merge(v113),ds_hll_count_distinct_merge(v114),ds_hll_count_distinct_merge(v115),ds_hll_count_distinct_merge(v116),ds_hll_count_distinct_merge(v117),ds_hll_count_distinct_merge(v118),ds_hll_count_distinct_merge(v119),ds_hll_count_distinct_merge(v120),ds_hll_count_distinct_merge(v121),ds_hll_count_distinct_merge(v122),ds_hll_count_distinct_merge(v123),ds_hll_count_distinct_merge(v124),ds_hll_count_distinct_merge(v125),ds_hll_count_distinct_merge(v126),ds_hll_count_distinct_merge(v127),ds_hll_count_distinct_merge(v128),ds_hll_count_distinct_merge(v129),ds_hll_count_distinct_merge(v130),ds_hll_count_distinct_merge(v131),ds_hll_count_distinct_merge(v132),ds_hll_count_distinct_merge(v133),ds_hll_count_distinct_merge(v134),ds_hll_count_distinct_merge(v135),ds_hll_count_distinct_merge(v136),ds_hll_count_distinct_merge(v137),ds_hll_count_distinct_merge(v138),ds_hll_count_distinct_merge(v139),ds_hll_count_distinct_merge(v140),ds_hll_count_distinct_merge(v141),ds_hll_count_distinct_merge(v142),ds_hll_count_distinct_merge(v143),ds_hll_count_distinct_merge(v144),ds_hll_count_distinct_merge(v145),ds_hll_count_distinct_merge(v146),ds_hll_count_distinct_merge(v147),ds_hll_count_distinct_merge(v148),ds_hll_count_distinct_merge(v149),ds_hll_count_distinct_merge(v150),ds_hll_count_distinct_merge(v151),ds_hll_count_distinct_merge(v152),ds_hll_count_distinct_merge(v153),ndv_merge(v154),ndv_merge(v155),ndv_merge(v156),ndv_merge(v157),ndv_merge(v158),ndv_merge(v159),ndv_merge(v160),ndv_merge(v161),ndv_merge(v162),ndv_merge(v163),ndv_merge(v164),ndv_merge(v165),ndv_merge(v166),ndv_merge(v167),stddev_merge(v168),stddev_merge(v169),stddev_merge(v170),stddev_merge(v171),stddev_merge(v172),stddev_merge(v173),stddev_merge(v174),stddev_merge(v175),covar_samp_merge(v176),covar_samp_merge(v177),covar_samp_merge(v178),covar_samp_merge(v179),covar_samp_merge(v180),covar_samp_merge(v181),covar_samp_merge(v182),covar_samp_merge(v183),bitmap_agg_merge(v184),bitmap_agg_merge(v185),bitmap_agg_merge(v186),bitmap_agg_merge(v187),bitmap_agg_merge(v188),bitmap_agg_merge(v189),std_merge(v190),std_merge(v191),std_merge(v192),std_merge(v193),std_merge(v194),std_merge(v195),std_merge(v196),std_merge(v197),sum_merge(v198),sum_merge(v199),sum_merge(v200),sum_merge(v201),sum_merge(v202),sum_merge(v203),sum_merge(v204),sum_merge(v205),sum_merge(v206),sum_merge(v207),approx_count_distinct_merge(v208),approx_count_distinct_merge(v209),approx_count_distinct_merge(v210),approx_count_distinct_merge(v211),approx_count_distinct_merge(v212),approx_count_distinct_merge(v213),approx_count_distinct_merge(v214),approx_count_distinct_merge(v215),approx_count_distinct_merge(v216),approx_count_distinct_merge(v217),approx_count_distinct_merge(v218),approx_count_distinct_merge(v219),approx_count_distinct_merge(v220),approx_count_distinct_merge(v221),min_merge(v222),min_merge(v223),min_merge(v224),min_merge(v225),min_merge(v226),min_merge(v227),min_merge(v228),min_merge(v229),min_merge(v230),min_merge(v231),min_merge(v232),min_merge(v233),min_merge(v234),min_merge(v235),retention_merge(v236),max_by_merge(v237),max_by_merge(v238),max_by_merge(v239),max_by_merge(v240),max_by_merge(v241),max_by_merge(v242),max_by_merge(v243),max_by_merge(v244),max_by_merge(v245),max_by_merge(v246),max_by_merge(v247),max_by_merge(v248),max_by_merge(v249),max_by_merge(v250),max_by_merge(v251),max_by_merge(v252),max_by_merge(v253),max_by_merge(v254),max_by_merge(v255),max_by_merge(v256),max_by_merge(v257),max_by_merge(v258),max_by_merge(v259),max_by_merge(v260),max_by_merge(v261),max_by_merge(v262),max_by_merge(v263),max_by_merge(v264),max_by_merge(v265),max_by_merge(v266),max_by_merge(v267),max_by_merge(v268),max_by_merge(v269),max_by_merge(v270),max_by_merge(v271),max_by_merge(v272),max_by_merge(v273),max_by_merge(v274),max_by_merge(v275),max_by_merge(v276),max_by_merge(v277),max_by_merge(v278),max_by_merge(v279),max_by_merge(v280),max_by_merge(v281),max_by_merge(v282),max_by_merge(v283),max_by_merge(v284),max_by_merge(v285),max_by_merge(v286),max_by_merge(v287),max_by_merge(v288),max_by_merge(v289),max_by_merge(v290),max_by_merge(v291),max_by_merge(v292),max_by_merge(v293),max_by_merge(v294),max_by_merge(v295),max_by_merge(v296),max_by_merge(v297),max_by_merge(v298),max_by_merge(v299),max_by_merge(v300),max_by_merge(v301),max_by_merge(v302),max_by_merge(v303),max_by_merge(v304),max_by_merge(v305),max_by_merge(v306),max_by_merge(v307),max_by_merge(v308),max_by_merge(v309),max_by_merge(v310),max_by_merge(v311),max_by_merge(v312),max_by_merge(v313),max_by_merge(v314),max_by_merge(v315),max_by_merge(v316),max_by_merge(v317),max_by_merge(v318),max_by_merge(v319),max_by_merge(v320),max_by_merge(v321),max_by_merge(v322),max_by_merge(v323),max_by_merge(v324),max_by_merge(v325),max_by_merge(v326),max_by_merge(v327),max_by_merge(v328),max_by_merge(v329),max_by_merge(v330),max_by_merge(v331),max_by_merge(v332),max_by_merge(v333),max_by_merge(v334),max_by_merge(v335),max_by_merge(v336),max_by_merge(v337),max_by_merge(v338),max_by_merge(v339),max_by_merge(v340),max_by_merge(v341),max_by_merge(v342),max_by_merge(v343),max_by_merge(v344),max_by_merge(v345),max_by_merge(v346),max_by_merge(v347),max_by_merge(v348),max_by_merge(v349),max_by_merge(v350),max_by_merge(v351),max_by_merge(v352),max_by_merge(v353),max_by_merge(v354),max_by_merge(v355),max_by_merge(v356),max_by_merge(v357),max_by_merge(v358),max_by_merge(v359),max_by_merge(v360),max_by_merge(v361),max_by_merge(v362),max_by_merge(v363),max_by_merge(v364),max_by_merge(v365),max_by_merge(v366),max_by_merge(v367),max_by_merge(v368),max_by_merge(v369),max_by_merge(v370),max_by_merge(v371),max_by_merge(v372),max_by_merge(v373),max_by_merge(v374),max_by_merge(v375),max_by_merge(v376),max_by_merge(v377),max_by_merge(v378),max_by_merge(v379),max_by_merge(v380),max_by_merge(v381),max_by_merge(v382),max_by_merge(v383),max_by_merge(v384),max_by_merge(v385),max_by_merge(v386),max_by_merge(v387),max_by_merge(v388),max_by_merge(v389),max_by_merge(v390),max_by_merge(v391),max_by_merge(v392),max_by_merge(v393),max_by_merge(v394),max_by_merge(v395),max_by_merge(v396),max_by_merge(v397),max_by_merge(v398),max_by_merge(v399),max_by_merge(v400),max_by_merge(v401),max_by_merge(v402),max_by_merge(v403),max_by_merge(v404),max_by_merge(v405),max_by_merge(v406),max_by_merge(v407),max_by_merge(v408),max_by_merge(v409),max_by_merge(v410),max_by_merge(v411),max_by_merge(v412),max_by_merge(v413),max_by_merge(v414),max_by_merge(v415),max_by_merge(v416),max_by_merge(v417),max_by_merge(v418),max_by_merge(v419),max_by_merge(v420),max_by_merge(v421),max_by_merge(v422),max_by_merge(v423),max_by_merge(v424),max_by_merge(v425),max_by_merge(v426),max_by_merge(v427),max_by_merge(v428),max_by_merge(v429),max_by_merge(v430),max_by_merge(v431),max_by_merge(v432),max_by_merge(v433),max_by_merge(v434),max_by_merge(v435),max_by_merge(v436),max_by_merge(v437),max_by_merge(v438),max_by_merge(v439),max_by_merge(v440),max_by_merge(v441),max_by_merge(v442),max_by_merge(v443),max_by_merge(v444),max_by_merge(v445),max_by_merge(v446),min_by_merge(v447),min_by_merge(v448),min_by_merge(v449),min_by_merge(v450),min_by_merge(v451),min_by_merge(v452),min_by_merge(v453),min_by_merge(v454),min_by_merge(v455),min_by_merge(v456),min_by_merge(v457),min_by_merge(v458),min_by_merge(v459),min_by_merge(v460),min_by_merge(v461),min_by_merge(v462),min_by_merge(v463),min_by_merge(v464),min_by_merge(v465),min_by_merge(v466),min_by_merge(v467),min_by_merge(v468),min_by_merge(v469),min_by_merge(v470),min_by_merge(v471),min_by_merge(v472),min_by_merge(v473),min_by_merge(v474),min_by_merge(v475),min_by_merge(v476),min_by_merge(v477),min_by_merge(v478),min_by_merge(v479),min_by_merge(v480),min_by_merge(v481),min_by_merge(v482),min_by_merge(v483),min_by_merge(v484),min_by_merge(v485),min_by_merge(v486),min_by_merge(v487),min_by_merge(v488),min_by_merge(v489),min_by_merge(v490),min_by_merge(v491),min_by_merge(v492),min_by_merge(v493),min_by_merge(v494),min_by_merge(v495),min_by_merge(v496),min_by_merge(v497),min_by_merge(v498),min_by_merge(v499),min_by_merge(v500),min_by_merge(v501),min_by_merge(v502),min_by_merge(v503),min_by_merge(v504),min_by_merge(v505),min_by_merge(v506),min_by_merge(v507),min_by_merge(v508),min_by_merge(v509),min_by_merge(v510),min_by_merge(v511),min_by_merge(v512),min_by_merge(v513),min_by_merge(v514),min_by_merge(v515),min_by_merge(v516),min_by_merge(v517),min_by_merge(v518),min_by_merge(v519),min_by_merge(v520),min_by_merge(v521),min_by_merge(v522),min_by_merge(v523),min_by_merge(v524),min_by_merge(v525),min_by_merge(v526),min_by_merge(v527),min_by_merge(v528),min_by_merge(v529),min_by_merge(v530),min_by_merge(v531),min_by_merge(v532),min_by_merge(v533),min_by_merge(v534),min_by_merge(v535),min_by_merge(v536),min_by_merge(v537),min_by_merge(v538),min_by_merge(v539),min_by_merge(v540),min_by_merge(v541),min_by_merge(v542),min_by_merge(v543),min_by_merge(v544),min_by_merge(v545),min_by_merge(v546),min_by_merge(v547),min_by_merge(v548),min_by_merge(v549),min_by_merge(v550),min_by_merge(v551),min_by_merge(v552),min_by_merge(v553),min_by_merge(v554),min_by_merge(v555),min_by_merge(v556),min_by_merge(v557),min_by_merge(v558),min_by_merge(v559),min_by_merge(v560),min_by_merge(v561),min_by_merge(v562),min_by_merge(v563),min_by_merge(v564),min_by_merge(v565),min_by_merge(v566),min_by_merge(v567),min_by_merge(v568),min_by_merge(v569),min_by_merge(v570),min_by_merge(v571),min_by_merge(v572),min_by_merge(v573),min_by_merge(v574),min_by_merge(v575),min_by_merge(v576),min_by_merge(v577),min_by_merge(v578),min_by_merge(v579),min_by_merge(v580),min_by_merge(v581),min_by_merge(v582),min_by_merge(v583),min_by_merge(v584),min_by_merge(v585),min_by_merge(v586),min_by_merge(v587),min_by_merge(v588),min_by_merge(v589),min_by_merge(v590),min_by_merge(v591),min_by_merge(v592),min_by_merge(v593),min_by_merge(v594),min_by_merge(v595),min_by_merge(v596),min_by_merge(v597),min_by_merge(v598),min_by_merge(v599),min_by_merge(v600),min_by_merge(v601),min_by_merge(v602),min_by_merge(v603),min_by_merge(v604),min_by_merge(v605),min_by_merge(v606),min_by_merge(v607),min_by_merge(v608),min_by_merge(v609),min_by_merge(v610),min_by_merge(v611),min_by_merge(v612),min_by_merge(v613),min_by_merge(v614),min_by_merge(v615),min_by_merge(v616),min_by_merge(v617),min_by_merge(v618),min_by_merge(v619),min_by_merge(v620),min_by_merge(v621),min_by_merge(v622),min_by_merge(v623),min_by_merge(v624),min_by_merge(v625),min_by_merge(v626),min_by_merge(v627),min_by_merge(v628),min_by_merge(v629),min_by_merge(v630),min_by_merge(v631),min_by_merge(v632),min_by_merge(v633),min_by_merge(v634),min_by_merge(v635),min_by_merge(v636),min_by_merge(v637),min_by_merge(v638),min_by_merge(v639),min_by_merge(v640),min_by_merge(v641),min_by_merge(v642),min_by_merge(v643),min_by_merge(v644),min_by_merge(v645),min_by_merge(v646),min_by_merge(v647),min_by_merge(v648),min_by_merge(v649),min_by_merge(v650),min_by_merge(v651),min_by_merge(v652),min_by_merge(v653),min_by_merge(v654),min_by_merge(v655),min_by_merge(v656),variance_pop_merge(v657),variance_pop_merge(v658),variance_pop_merge(v659),variance_pop_merge(v660),variance_pop_merge(v661),variance_pop_merge(v662),variance_pop_merge(v663),variance_pop_merge(v664),avg_merge(v665),avg_merge(v666),avg_merge(v667),avg_merge(v668),avg_merge(v669),avg_merge(v670),avg_merge(v671),avg_merge(v672),avg_merge(v673),avg_merge(v674),any_value_merge(v675),any_value_merge(v676),any_value_merge(v677),any_value_merge(v678),any_value_merge(v679),any_value_merge(v680),any_value_merge(v681),any_value_merge(v682),any_value_merge(v683),any_value_merge(v684),any_value_merge(v685),any_value_merge(v686),any_value_merge(v687),any_value_merge(v688),any_value_merge(v689),any_value_merge(v690),any_value_merge(v691),any_value_merge(v692),any_value_merge(v693),var_pop_merge(v694),var_pop_merge(v695),var_pop_merge(v696),var_pop_merge(v697),var_pop_merge(v698),var_pop_merge(v699),var_pop_merge(v700),var_pop_merge(v701),stddev_pop_merge(v702),stddev_pop_merge(v703),stddev_pop_merge(v704),stddev_pop_merge(v705),stddev_pop_merge(v706),stddev_pop_merge(v707),stddev_pop_merge(v708),stddev_pop_merge(v709),variance_samp_merge(v710),variance_samp_merge(v711),variance_samp_merge(v712),variance_samp_merge(v713),variance_samp_merge(v714),variance_samp_merge(v715),variance_samp_merge(v716),variance_samp_merge(v717),percentile_cont_merge(v718),percentile_cont_merge(v719),percentile_cont_merge(v720),corr_merge(v721),corr_merge(v722),corr_merge(v723),corr_merge(v724),corr_merge(v725),corr_merge(v726),corr_merge(v727),corr_merge(v728),multi_distinct_sum_merge(v729),multi_distinct_sum_merge(v730),multi_distinct_sum_merge(v731),multi_distinct_sum_merge(v732),multi_distinct_sum_merge(v733),multi_distinct_sum_merge(v734),multi_distinct_sum_merge(v735),multi_distinct_sum_merge(v736),multi_distinct_sum_merge(v737),multi_distinct_sum_merge(v738),multi_distinct_sum_merge(v739),var_samp_merge(v740),var_samp_merge(v741),var_samp_merge(v742),var_samp_merge(v743),var_samp_merge(v744),var_samp_merge(v745),var_samp_merge(v746),var_samp_merge(v747),bitmap_union_int_merge(v748),bitmap_union_int_merge(v749),bitmap_union_int_merge(v750),bitmap_union_int_merge(v751),variance_merge(v752),variance_merge(v753),variance_merge(v754),variance_merge(v755),variance_merge(v756),variance_merge(v757),variance_merge(v758),variance_merge(v759) from test_agg_state_table group by k1; +-- result: +2024-01-01 [1] [127] [32000] [2147483647] [9223372036854775807] [170141183460469231731687303715884105727] [12345.6789] [12345.67] [123.46] [123.46] [123.46] ["ExampleCharData"] ["2024-01-02"] ["2024-01-01 12:34:56"] 12345.6787109375 12345.6787109375 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [0,1] [-1,1,127] [-100,32767,100] [-100000,100000,2147483647] [-10000000000,10000000000,9223372036854775807] [12345678901234567890,-12345678901234567890,170141183460469231731687303715884105727] [1.23,4.56,7.89] [7.89,1.23,4.56] [1.23,2.35,3.46] [1.23,2.35,3.46] [1.23,2.35,3.46] [1.23,2.35,3.46] ["def","ghi","abc"] ["2024-01-01","2024-01-02"] ["2024-01-01 12:34:56","2024-01-02 12:34:56"] 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 123.46 123.46 123.46 ExampleCharData 2024-01-02 2024-01-01 12:34:56 12345.6789 12345.67 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ["ExampleVarcharData"] None None None None None None None None {"Error": "All numbers in both samples are identical."} {"Error": "All numbers in both samples are identical."} {"Error": "All numbers in both samples are identical."} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 None None None None None None None None None None None None None None 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12345.6789 12345.669921875 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 123.46 123.46 123.46 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 [1,0,1] 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12345.6789 12345.669921875 127.0 32000.0 2147483647.0 9.223372036854776e+18 1.7014118346046923e+38 123.46000000 123.46000000 123.46000000 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 [10000000000,-10000000000,9223372036854775807] {"key1":"value1","key2":"value2"} {"col1":null} {"key": "value"} MyVarbinaryData 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 None None None None None None None None 2024-01-02 2024-01-01 12:34:56 12345.6789 None None None None None None None None 12345.6789 12345.669921875 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 123.46 123.46 123.46 None None None None None None None None 1 1 1 1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +-- !result +INSERT INTO t1 VALUES +( + '2024-01-01', -- k1 + FALSE, -- c0 + 128, -- c1 + 32100, -- c2 + 2047483647, -- c3 + 9023372036854775807, -- c4 + 100141183460469231731687303715884105727, -- c5 (example large integer) + 123450.6789, -- c6 + 123450.67, -- c7 + 1230.45678901, -- c8 + 'a', -- c9 + '2024-01-01', -- c10 + '2024-01-01 13:34:56', -- c11 + [FALSE, FALSE, FALSE], -- c15 () + [1, 1, 127], -- c16 () + [100, 100, 32767], -- c17 () + [100000, 100000, 2147483647], -- c18 () + [10000000000, 10000000000, 9223372036854775807], -- c19 () + [12345678901234567890, 12345678901234567890, 170141183460469231731687303715884105727], -- c20 () + [1.23, 4.56, 7.89], -- c21 () + [1.23, 4.56, 7.89], -- c22 () + [1.23456789, 2.34567890, 3.45678901], -- c23 () + ['abc', 'def', 'ghi'], -- c24 () + ['2024-01-01', '2024-01-02'], -- c25 () + ['2024-01-01 12:34:56', '2024-01-02 12:34:56'], -- c26 () + 'ExampleVarcharData', -- c12 + '{"key": "value"}', -- c13 (JSON data) + x'4D7956617262696E61727944617461', -- c14 (VARBINARY data in hexadecimal format) + MAP{'key1':'value1', 'key2':'value2'}, -- c27 (map) + row('val1'), -- c28 (struct>) + ['str1', 'str2', 'str3'] -- c29 () +),( + '2024-01-01', -- k1 + NULL, -- c0 + NULL, -- c1 + NULL, -- c2 + NULL, -- c3 + NULL, -- c4 + NULL, -- c5 (example large integer) + NULL, -- c6 + NULL, -- c7 + NULL, -- c8 + NULL, -- c9 + NULL, -- c10 + NULL, -- c11 + NULL, -- c15 () + NULL, -- c16 () + NULL, -- c17 () + NULL, -- c18 () + NULL, -- c19 () + NULL, -- c20 () + NULL, -- c21 () + NULL, -- c22 () + NULL, -- c23 () + NULL, -- c24 () + NULL, -- c25 () + NULL, -- c26 () + NULL, -- c12 + NULL, -- c13 (JSON data) + NULL, -- c14 (VARBINARY data in hexadecimal format) + NULL, -- c27 (map) + NULL, -- c28 (struct>) + NULL -- c29 () +); +-- result: +-- !result +insert into test_agg_state_table select k1, array_agg_distinct_state(c0), array_agg_distinct_state(c1), array_agg_distinct_state(c2), array_agg_distinct_state(c3), array_agg_distinct_state(c4), array_agg_distinct_state(c5), array_agg_distinct_state(c6), array_agg_distinct_state(c7), array_agg_distinct_state(c8), array_agg_distinct_state(c8), array_agg_distinct_state(c8), array_agg_distinct_state(c9), array_agg_distinct_state(c10), array_agg_distinct_state(c11), percentile_approx_state(c6, 0.5), percentile_approx_state(c6, 0.5), covar_pop_state(c6, c6), covar_pop_state(c7, c7), covar_pop_state(c0, c0), covar_pop_state(c1, c1), covar_pop_state(c2, c2), covar_pop_state(c3, c3), covar_pop_state(c4, c4), covar_pop_state(c5, c5), count_state(c0), count_state(c1), count_state(c2), count_state(c3), count_state(c4), count_state(c5), count_state(c6), count_state(c7), count_state(c8), count_state(c8), count_state(c8), count_state(c24), count_state(c10), count_state(c11), count_state(c16), count_state(c27), count_state(c28), count_state(c25), count_state(c26), array_unique_agg_state(c12), array_unique_agg_state(c13), array_unique_agg_state(c14), array_unique_agg_state(c15), array_unique_agg_state(c16), array_unique_agg_state(c17), array_unique_agg_state(c18), array_unique_agg_state(c19), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c20), array_unique_agg_state(c21), array_unique_agg_state(c22), array_unique_agg_state(c23), percentile_disc_state(c0, 0.5), percentile_disc_state(c1, 0.5), percentile_disc_state(c2, 0.5), percentile_disc_state(c3, 0.5), percentile_disc_state(c4, 0.5), percentile_disc_state(c5, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c8, 0.5), percentile_disc_state(c9, 0.5), percentile_disc_state(c10, 0.5), percentile_disc_state(c11, 0.5), percentile_disc_state(c6, 0.5), percentile_disc_state(c7, 0.5), multi_distinct_count_state(c0), multi_distinct_count_state(c1), multi_distinct_count_state(c2), multi_distinct_count_state(c3), multi_distinct_count_state(c4), multi_distinct_count_state(c5), multi_distinct_count_state(c6), multi_distinct_count_state(c7), multi_distinct_count_state(c8), multi_distinct_count_state(c8), multi_distinct_count_state(c8), multi_distinct_count_state(c9), multi_distinct_count_state(c10), multi_distinct_count_state(c11), array_agg_state(c24), stddev_samp_state(c6), stddev_samp_state(c7), stddev_samp_state(c0), stddev_samp_state(c1), stddev_samp_state(c2), stddev_samp_state(c3), stddev_samp_state(c4), stddev_samp_state(c5), mann_whitney_u_test_state(c6, c0, 'two-sided', 0), mann_whitney_u_test_state(c6, c0, 'less'), mann_whitney_u_test_state(c6, c0, 'two-sided', 0), max_state(c0), max_state(c1), max_state(c2), max_state(c3), max_state(c4), max_state(c5), max_state(c6), max_state(c7), max_state(c8), max_state(c8), max_state(c8), max_state(c24), max_state(c10), max_state(c11), ds_hll_count_distinct_state(c0, 18, 'hll_6'), ds_hll_count_distinct_state(c0, 18), ds_hll_count_distinct_state(c0, 18, 'hll_6'), ds_hll_count_distinct_state(c1, 18, 'hll_6'), ds_hll_count_distinct_state(c1, 18), ds_hll_count_distinct_state(c1, 18, 'hll_6'), ds_hll_count_distinct_state(c2, 18, 'hll_6'), ds_hll_count_distinct_state(c2, 18), ds_hll_count_distinct_state(c2, 18, 'hll_6'), ds_hll_count_distinct_state(c3, 18, 'hll_6'), ds_hll_count_distinct_state(c3, 18), ds_hll_count_distinct_state(c3, 18, 'hll_6'), ds_hll_count_distinct_state(c4, 18, 'hll_6'), ds_hll_count_distinct_state(c4, 18), ds_hll_count_distinct_state(c4, 18, 'hll_6'), ds_hll_count_distinct_state(c5, 18, 'hll_6'), ds_hll_count_distinct_state(c5, 18), ds_hll_count_distinct_state(c5, 18, 'hll_6'), ds_hll_count_distinct_state(c6, 18, 'hll_6'), ds_hll_count_distinct_state(c6, 18), ds_hll_count_distinct_state(c6, 18, 'hll_6'), ds_hll_count_distinct_state(c7, 18, 'hll_6'), ds_hll_count_distinct_state(c7, 18), ds_hll_count_distinct_state(c7, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c8, 18), ds_hll_count_distinct_state(c8, 18, 'hll_6'), ds_hll_count_distinct_state(c24, 18, 'hll_6'), ds_hll_count_distinct_state(c24, 18), ds_hll_count_distinct_state(c24, 18, 'hll_6'), ds_hll_count_distinct_state(c10, 18, 'hll_6'), ds_hll_count_distinct_state(c10, 18), ds_hll_count_distinct_state(c10, 18, 'hll_6'), ds_hll_count_distinct_state(c11, 18, 'hll_6'), ds_hll_count_distinct_state(c11, 18), ds_hll_count_distinct_state(c11, 18, 'hll_6'), ndv_state(c0), ndv_state(c1), ndv_state(c2), ndv_state(c3), ndv_state(c4), ndv_state(c5), ndv_state(c6), ndv_state(c7), ndv_state(c8), ndv_state(c8), ndv_state(c8), ndv_state(c24), ndv_state(c10), ndv_state(c11), stddev_state(c6), stddev_state(c7), stddev_state(c0), stddev_state(c1), stddev_state(c2), stddev_state(c3), stddev_state(c4), stddev_state(c5), covar_samp_state(c6, c6), covar_samp_state(c7, c7), covar_samp_state(c0, c0), covar_samp_state(c1, c1), covar_samp_state(c2, c2), covar_samp_state(c3, c3), covar_samp_state(c4, c4), covar_samp_state(c5, c5), bitmap_agg_state(c4), bitmap_agg_state(c5), bitmap_agg_state(c3), bitmap_agg_state(c2), bitmap_agg_state(c1), bitmap_agg_state(c0), std_state(c6), std_state(c7), std_state(c0), std_state(c1), std_state(c2), std_state(c3), std_state(c4), std_state(c5), sum_state(c6), sum_state(c7), sum_state(c1), sum_state(c2), sum_state(c3), sum_state(c4), sum_state(c5), sum_state(c8), sum_state(c8), sum_state(c8), approx_count_distinct_state(c0), approx_count_distinct_state(c1), approx_count_distinct_state(c2), approx_count_distinct_state(c3), approx_count_distinct_state(c4), approx_count_distinct_state(c5), approx_count_distinct_state(c6), approx_count_distinct_state(c7), approx_count_distinct_state(c8), approx_count_distinct_state(c8), approx_count_distinct_state(c8), approx_count_distinct_state(c24), approx_count_distinct_state(c10), approx_count_distinct_state(c11), min_state(c0), min_state(c1), min_state(c2), min_state(c3), min_state(c4), min_state(c5), min_state(c6), min_state(c7), min_state(c8), min_state(c8), min_state(c8), min_state(c24), min_state(c10), min_state(c11), retention_state(c12), max_by_state(c0, c0), max_by_state(c1, c0), max_by_state(c2, c0), max_by_state(c3, c0), max_by_state(c4, c0), max_by_state(c5, c0), max_by_state(c6, c0), max_by_state(c7, c0), max_by_state(c8, c0), max_by_state(c8, c0), max_by_state(c8, c0), max_by_state(c24, c0), max_by_state(c10, c0), max_by_state(c11, c0), max_by_state(c25, c0), max_by_state(c0, c1), max_by_state(c1, c1), max_by_state(c2, c1), max_by_state(c3, c1), max_by_state(c4, c1), max_by_state(c5, c1), max_by_state(c6, c1), max_by_state(c7, c1), max_by_state(c8, c1), max_by_state(c8, c1), max_by_state(c8, c1), max_by_state(c24, c1), max_by_state(c10, c1), max_by_state(c11, c1), max_by_state(c25, c1), max_by_state(c0, c2), max_by_state(c1, c2), max_by_state(c2, c2), max_by_state(c3, c2), max_by_state(c4, c2), max_by_state(c5, c2), max_by_state(c6, c2), max_by_state(c7, c2), max_by_state(c8, c2), max_by_state(c8, c2), max_by_state(c8, c2), max_by_state(c24, c2), max_by_state(c10, c2), max_by_state(c11, c2), max_by_state(c25, c2), max_by_state(c0, c3), max_by_state(c1, c3), max_by_state(c2, c3), max_by_state(c3, c3), max_by_state(c4, c3), max_by_state(c5, c3), max_by_state(c6, c3), max_by_state(c7, c3), max_by_state(c8, c3), max_by_state(c8, c3), max_by_state(c8, c3), max_by_state(c24, c3), max_by_state(c10, c3), max_by_state(c11, c3), max_by_state(c25, c3), max_by_state(c0, c4), max_by_state(c1, c4), max_by_state(c2, c4), max_by_state(c3, c4), max_by_state(c4, c4), max_by_state(c5, c4), max_by_state(c6, c4), max_by_state(c7, c4), max_by_state(c8, c4), max_by_state(c8, c4), max_by_state(c8, c4), max_by_state(c24, c4), max_by_state(c10, c4), max_by_state(c11, c4), max_by_state(c25, c4), max_by_state(c0, c5), max_by_state(c1, c5), max_by_state(c2, c5), max_by_state(c3, c5), max_by_state(c4, c5), max_by_state(c5, c5), max_by_state(c6, c5), max_by_state(c7, c5), max_by_state(c8, c5), max_by_state(c8, c5), max_by_state(c8, c5), max_by_state(c24, c5), max_by_state(c10, c5), max_by_state(c11, c5), max_by_state(c25, c5), max_by_state(c0, c6), max_by_state(c1, c6), max_by_state(c2, c6), max_by_state(c3, c6), max_by_state(c4, c6), max_by_state(c5, c6), max_by_state(c6, c6), max_by_state(c7, c6), max_by_state(c8, c6), max_by_state(c8, c6), max_by_state(c8, c6), max_by_state(c24, c6), max_by_state(c10, c6), max_by_state(c11, c6), max_by_state(c25, c6), max_by_state(c0, c7), max_by_state(c1, c7), max_by_state(c2, c7), max_by_state(c3, c7), max_by_state(c4, c7), max_by_state(c5, c7), max_by_state(c6, c7), max_by_state(c7, c7), max_by_state(c8, c7), max_by_state(c8, c7), max_by_state(c8, c7), max_by_state(c24, c7), max_by_state(c10, c7), max_by_state(c11, c7), max_by_state(c25, c7), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c8), max_by_state(c1, c8), max_by_state(c2, c8), max_by_state(c3, c8), max_by_state(c4, c8), max_by_state(c5, c8), max_by_state(c6, c8), max_by_state(c7, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c8, c8), max_by_state(c24, c8), max_by_state(c10, c8), max_by_state(c11, c8), max_by_state(c25, c8), max_by_state(c0, c24), max_by_state(c1, c24), max_by_state(c2, c24), max_by_state(c3, c24), max_by_state(c4, c24), max_by_state(c5, c24), max_by_state(c6, c24), max_by_state(c7, c24), max_by_state(c8, c24), max_by_state(c8, c24), max_by_state(c8, c24), max_by_state(c24, c24), max_by_state(c10, c24), max_by_state(c11, c24), max_by_state(c25, c24), max_by_state(c0, c10), max_by_state(c1, c10), max_by_state(c2, c10), max_by_state(c3, c10), max_by_state(c4, c10), max_by_state(c5, c10), max_by_state(c6, c10), max_by_state(c7, c10), max_by_state(c8, c10), max_by_state(c8, c10), max_by_state(c8, c10), max_by_state(c24, c10), max_by_state(c10, c10), max_by_state(c11, c10), max_by_state(c25, c10), max_by_state(c0, c11), max_by_state(c1, c11), max_by_state(c2, c11), max_by_state(c3, c11), max_by_state(c4, c11), max_by_state(c5, c11), max_by_state(c6, c11), max_by_state(c7, c11), max_by_state(c8, c11), max_by_state(c8, c11), max_by_state(c8, c11), max_by_state(c24, c11), max_by_state(c10, c11), max_by_state(c11, c11), max_by_state(c25, c11), min_by_state(c0, c0), min_by_state(c1, c0), min_by_state(c2, c0), min_by_state(c3, c0), min_by_state(c4, c0), min_by_state(c5, c0), min_by_state(c6, c0), min_by_state(c7, c0), min_by_state(c8, c0), min_by_state(c8, c0), min_by_state(c8, c0), min_by_state(c24, c0), min_by_state(c10, c0), min_by_state(c11, c0), min_by_state(c25, c0), min_by_state(c0, c1), min_by_state(c1, c1), min_by_state(c2, c1), min_by_state(c3, c1), min_by_state(c4, c1), min_by_state(c5, c1), min_by_state(c6, c1), min_by_state(c7, c1), min_by_state(c8, c1), min_by_state(c8, c1), min_by_state(c8, c1), min_by_state(c24, c1), min_by_state(c10, c1), min_by_state(c11, c1), min_by_state(c25, c1), min_by_state(c0, c2), min_by_state(c1, c2), min_by_state(c2, c2), min_by_state(c3, c2), min_by_state(c4, c2), min_by_state(c5, c2), min_by_state(c6, c2), min_by_state(c7, c2), min_by_state(c8, c2), min_by_state(c8, c2), min_by_state(c8, c2), min_by_state(c24, c2), min_by_state(c10, c2), min_by_state(c11, c2), min_by_state(c25, c2), min_by_state(c0, c3), min_by_state(c1, c3), min_by_state(c2, c3), min_by_state(c3, c3), min_by_state(c4, c3), min_by_state(c5, c3), min_by_state(c6, c3), min_by_state(c7, c3), min_by_state(c8, c3), min_by_state(c8, c3), min_by_state(c8, c3), min_by_state(c24, c3), min_by_state(c10, c3), min_by_state(c11, c3), min_by_state(c25, c3), min_by_state(c0, c4), min_by_state(c1, c4), min_by_state(c2, c4), min_by_state(c3, c4), min_by_state(c4, c4), min_by_state(c5, c4), min_by_state(c6, c4), min_by_state(c7, c4), min_by_state(c8, c4), min_by_state(c8, c4), min_by_state(c8, c4), min_by_state(c24, c4), min_by_state(c10, c4), min_by_state(c11, c4), min_by_state(c25, c4), min_by_state(c0, c5), min_by_state(c1, c5), min_by_state(c2, c5), min_by_state(c3, c5), min_by_state(c4, c5), min_by_state(c5, c5), min_by_state(c6, c5), min_by_state(c7, c5), min_by_state(c8, c5), min_by_state(c8, c5), min_by_state(c8, c5), min_by_state(c24, c5), min_by_state(c10, c5), min_by_state(c11, c5), min_by_state(c25, c5), min_by_state(c0, c6), min_by_state(c1, c6), min_by_state(c2, c6), min_by_state(c3, c6), min_by_state(c4, c6), min_by_state(c5, c6), min_by_state(c6, c6), min_by_state(c7, c6), min_by_state(c8, c6), min_by_state(c8, c6), min_by_state(c8, c6), min_by_state(c24, c6), min_by_state(c10, c6), min_by_state(c11, c6), min_by_state(c25, c6), min_by_state(c0, c7), min_by_state(c1, c7), min_by_state(c2, c7), min_by_state(c3, c7), min_by_state(c4, c7), min_by_state(c5, c7), min_by_state(c6, c7), min_by_state(c7, c7), min_by_state(c8, c7), min_by_state(c8, c7), min_by_state(c8, c7), min_by_state(c24, c7), min_by_state(c10, c7), min_by_state(c11, c7), min_by_state(c25, c7), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c8), min_by_state(c1, c8), min_by_state(c2, c8), min_by_state(c3, c8), min_by_state(c4, c8), min_by_state(c5, c8), min_by_state(c6, c8), min_by_state(c7, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c8, c8), min_by_state(c24, c8), min_by_state(c10, c8), min_by_state(c11, c8), min_by_state(c25, c8), min_by_state(c0, c24), min_by_state(c1, c24), min_by_state(c2, c24), min_by_state(c3, c24), min_by_state(c4, c24), min_by_state(c5, c24), min_by_state(c6, c24), min_by_state(c7, c24), min_by_state(c8, c24), min_by_state(c8, c24), min_by_state(c8, c24), min_by_state(c24, c24), min_by_state(c10, c24), min_by_state(c11, c24), min_by_state(c25, c24), min_by_state(c0, c10), min_by_state(c1, c10), min_by_state(c2, c10), min_by_state(c3, c10), min_by_state(c4, c10), min_by_state(c5, c10), min_by_state(c6, c10), min_by_state(c7, c10), min_by_state(c8, c10), min_by_state(c8, c10), min_by_state(c8, c10), min_by_state(c24, c10), min_by_state(c10, c10), min_by_state(c11, c10), min_by_state(c25, c10), min_by_state(c0, c11), min_by_state(c1, c11), min_by_state(c2, c11), min_by_state(c3, c11), min_by_state(c4, c11), min_by_state(c5, c11), min_by_state(c6, c11), min_by_state(c7, c11), min_by_state(c8, c11), min_by_state(c8, c11), min_by_state(c8, c11), min_by_state(c24, c11), min_by_state(c10, c11), min_by_state(c11, c11), min_by_state(c25, c11), variance_pop_state(c6), variance_pop_state(c7), variance_pop_state(c0), variance_pop_state(c1), variance_pop_state(c2), variance_pop_state(c3), variance_pop_state(c4), variance_pop_state(c5), avg_state(c6), avg_state(c7), avg_state(c1), avg_state(c2), avg_state(c3), avg_state(c4), avg_state(c5), avg_state(c8), avg_state(c8), avg_state(c8), any_value_state(c0), any_value_state(c1), any_value_state(c2), any_value_state(c3), any_value_state(c4), any_value_state(c5), any_value_state(c6), any_value_state(c7), any_value_state(c8), any_value_state(c8), any_value_state(c8), any_value_state(c24), any_value_state(c10), any_value_state(c11), any_value_state(c16), any_value_state(c27), any_value_state(c28), any_value_state(c25), any_value_state(c26), var_pop_state(c6), var_pop_state(c7), var_pop_state(c0), var_pop_state(c1), var_pop_state(c2), var_pop_state(c3), var_pop_state(c4), var_pop_state(c5), stddev_pop_state(c6), stddev_pop_state(c7), stddev_pop_state(c0), stddev_pop_state(c1), stddev_pop_state(c2), stddev_pop_state(c3), stddev_pop_state(c4), stddev_pop_state(c5), variance_samp_state(c6), variance_samp_state(c7), variance_samp_state(c0), variance_samp_state(c1), variance_samp_state(c2), variance_samp_state(c3), variance_samp_state(c4), variance_samp_state(c5), percentile_cont_state(c10, 0.5), percentile_cont_state(c11, 0.5), percentile_cont_state(c6, 0.5), corr_state(c6, c6), corr_state(c7, c7), corr_state(c0, c0), corr_state(c1, c1), corr_state(c2, c2), corr_state(c3, c3), corr_state(c4, c4), corr_state(c5, c5), multi_distinct_sum_state(c6), multi_distinct_sum_state(c7), multi_distinct_sum_state(c0), multi_distinct_sum_state(c1), multi_distinct_sum_state(c2), multi_distinct_sum_state(c3), multi_distinct_sum_state(c4), multi_distinct_sum_state(c5), multi_distinct_sum_state(c8), multi_distinct_sum_state(c8), multi_distinct_sum_state(c8), var_samp_state(c6), var_samp_state(c7), var_samp_state(c0), var_samp_state(c1), var_samp_state(c2), var_samp_state(c3), var_samp_state(c4), var_samp_state(c5), bitmap_union_int_state(c1), bitmap_union_int_state(c2), bitmap_union_int_state(c3), bitmap_union_int_state(c4), variance_state(c6), variance_state(c7), variance_state(c0), variance_state(c1), variance_state(c2), variance_state(c3), variance_state(c4), variance_state(c5) from t1; +-- result: +-- !result +ALTER TABLE test_agg_state_table COMPACT; +-- result: +-- !result +select sleep(3); +-- result: +1 +-- !result +[UC] select k1, array_agg_distinct_union(v0), array_agg_distinct_union(v1), array_agg_distinct_union(v2), array_agg_distinct_union(v3), array_agg_distinct_union(v4), array_agg_distinct_union(v5), array_agg_distinct_union(v6), array_agg_distinct_union(v7), array_agg_distinct_union(v8), array_agg_distinct_union(v9), array_agg_distinct_union(v10), array_agg_distinct_union(v11), array_agg_distinct_union(v12), array_agg_distinct_union(v13), percentile_approx_union(v14), percentile_approx_union(v15), covar_pop_union(v16), covar_pop_union(v17), covar_pop_union(v18), covar_pop_union(v19), covar_pop_union(v20), covar_pop_union(v21), covar_pop_union(v22), covar_pop_union(v23), count_union(v24), count_union(v25), count_union(v26), count_union(v27), count_union(v28), count_union(v29), count_union(v30), count_union(v31), count_union(v32), count_union(v33), count_union(v34), count_union(v35), count_union(v36), count_union(v37), count_union(v38), count_union(v39), count_union(v40), count_union(v41), count_union(v42), array_unique_agg_union(v43), array_unique_agg_union(v44), array_unique_agg_union(v45), array_unique_agg_union(v46), array_unique_agg_union(v47), array_unique_agg_union(v48), array_unique_agg_union(v49), array_unique_agg_union(v50), array_unique_agg_union(v51), array_unique_agg_union(v52), array_unique_agg_union(v53), array_unique_agg_union(v54), array_unique_agg_union(v55), array_unique_agg_union(v56), array_unique_agg_union(v57), percentile_disc_union(v58), percentile_disc_union(v59), percentile_disc_union(v60), percentile_disc_union(v61), percentile_disc_union(v62), percentile_disc_union(v63), percentile_disc_union(v64), percentile_disc_union(v65), percentile_disc_union(v66), percentile_disc_union(v67), percentile_disc_union(v68), percentile_disc_union(v69), percentile_disc_union(v70), percentile_disc_union(v71), multi_distinct_count_union(v72), multi_distinct_count_union(v73), multi_distinct_count_union(v74), multi_distinct_count_union(v75), multi_distinct_count_union(v76), multi_distinct_count_union(v77), multi_distinct_count_union(v78), multi_distinct_count_union(v79), multi_distinct_count_union(v80), multi_distinct_count_union(v81), multi_distinct_count_union(v82), multi_distinct_count_union(v83), multi_distinct_count_union(v84), multi_distinct_count_union(v85), array_agg_union(v86), stddev_samp_union(v87), stddev_samp_union(v88), stddev_samp_union(v89), stddev_samp_union(v90), stddev_samp_union(v91), stddev_samp_union(v92), stddev_samp_union(v93), stddev_samp_union(v94), mann_whitney_u_test_union(v95), mann_whitney_u_test_union(v96), mann_whitney_u_test_union(v97), max_union(v98), max_union(v99), max_union(v100), max_union(v101), max_union(v102), max_union(v103), max_union(v104), max_union(v105), max_union(v106), max_union(v107), max_union(v108), max_union(v109), max_union(v110), max_union(v111), ds_hll_count_distinct_union(v112), ds_hll_count_distinct_union(v113), ds_hll_count_distinct_union(v114), ds_hll_count_distinct_union(v115), ds_hll_count_distinct_union(v116), ds_hll_count_distinct_union(v117), ds_hll_count_distinct_union(v118), ds_hll_count_distinct_union(v119), ds_hll_count_distinct_union(v120), ds_hll_count_distinct_union(v121), ds_hll_count_distinct_union(v122), ds_hll_count_distinct_union(v123), ds_hll_count_distinct_union(v124), ds_hll_count_distinct_union(v125), ds_hll_count_distinct_union(v126), ds_hll_count_distinct_union(v127), ds_hll_count_distinct_union(v128), ds_hll_count_distinct_union(v129), ds_hll_count_distinct_union(v130), ds_hll_count_distinct_union(v131), ds_hll_count_distinct_union(v132), ds_hll_count_distinct_union(v133), ds_hll_count_distinct_union(v134), ds_hll_count_distinct_union(v135), ds_hll_count_distinct_union(v136), ds_hll_count_distinct_union(v137), ds_hll_count_distinct_union(v138), ds_hll_count_distinct_union(v139), ds_hll_count_distinct_union(v140), ds_hll_count_distinct_union(v141), ds_hll_count_distinct_union(v142), ds_hll_count_distinct_union(v143), ds_hll_count_distinct_union(v144), ds_hll_count_distinct_union(v145), ds_hll_count_distinct_union(v146), ds_hll_count_distinct_union(v147), ds_hll_count_distinct_union(v148), ds_hll_count_distinct_union(v149), ds_hll_count_distinct_union(v150), ds_hll_count_distinct_union(v151), ds_hll_count_distinct_union(v152), ds_hll_count_distinct_union(v153), ndv_union(v154), ndv_union(v155), ndv_union(v156), ndv_union(v157), ndv_union(v158), ndv_union(v159), ndv_union(v160), ndv_union(v161), ndv_union(v162), ndv_union(v163), ndv_union(v164), ndv_union(v165), ndv_union(v166), ndv_union(v167), stddev_union(v168), stddev_union(v169), stddev_union(v170), stddev_union(v171), stddev_union(v172), stddev_union(v173), stddev_union(v174), stddev_union(v175), covar_samp_union(v176), covar_samp_union(v177), covar_samp_union(v178), covar_samp_union(v179), covar_samp_union(v180), covar_samp_union(v181), covar_samp_union(v182), covar_samp_union(v183), bitmap_agg_union(v184), bitmap_agg_union(v185), bitmap_agg_union(v186), bitmap_agg_union(v187), bitmap_agg_union(v188), bitmap_agg_union(v189), std_union(v190), std_union(v191), std_union(v192), std_union(v193), std_union(v194), std_union(v195), std_union(v196), std_union(v197), sum_union(v198), sum_union(v199), sum_union(v200), sum_union(v201), sum_union(v202), sum_union(v203), sum_union(v204), sum_union(v205), sum_union(v206), sum_union(v207), approx_count_distinct_union(v208), approx_count_distinct_union(v209), approx_count_distinct_union(v210), approx_count_distinct_union(v211), approx_count_distinct_union(v212), approx_count_distinct_union(v213), approx_count_distinct_union(v214), approx_count_distinct_union(v215), approx_count_distinct_union(v216), approx_count_distinct_union(v217), approx_count_distinct_union(v218), approx_count_distinct_union(v219), approx_count_distinct_union(v220), approx_count_distinct_union(v221), min_union(v222), min_union(v223), min_union(v224), min_union(v225), min_union(v226), min_union(v227), min_union(v228), min_union(v229), min_union(v230), min_union(v231), min_union(v232), min_union(v233), min_union(v234), min_union(v235), retention_union(v236), max_by_union(v237), max_by_union(v238), max_by_union(v239), max_by_union(v240), max_by_union(v241), max_by_union(v242), max_by_union(v243), max_by_union(v244), max_by_union(v245), max_by_union(v246), max_by_union(v247), max_by_union(v248), max_by_union(v249), max_by_union(v250), max_by_union(v251), max_by_union(v252), max_by_union(v253), max_by_union(v254), max_by_union(v255), max_by_union(v256), max_by_union(v257), max_by_union(v258), max_by_union(v259), max_by_union(v260), max_by_union(v261), max_by_union(v262), max_by_union(v263), max_by_union(v264), max_by_union(v265), max_by_union(v266), max_by_union(v267), max_by_union(v268), max_by_union(v269), max_by_union(v270), max_by_union(v271), max_by_union(v272), max_by_union(v273), max_by_union(v274), max_by_union(v275), max_by_union(v276), max_by_union(v277), max_by_union(v278), max_by_union(v279), max_by_union(v280), max_by_union(v281), max_by_union(v282), max_by_union(v283), max_by_union(v284), max_by_union(v285), max_by_union(v286), max_by_union(v287), max_by_union(v288), max_by_union(v289), max_by_union(v290), max_by_union(v291), max_by_union(v292), max_by_union(v293), max_by_union(v294), max_by_union(v295), max_by_union(v296), max_by_union(v297), max_by_union(v298), max_by_union(v299), max_by_union(v300), max_by_union(v301), max_by_union(v302), max_by_union(v303), max_by_union(v304), max_by_union(v305), max_by_union(v306), max_by_union(v307), max_by_union(v308), max_by_union(v309), max_by_union(v310), max_by_union(v311), max_by_union(v312), max_by_union(v313), max_by_union(v314), max_by_union(v315), max_by_union(v316), max_by_union(v317), max_by_union(v318), max_by_union(v319), max_by_union(v320), max_by_union(v321), max_by_union(v322), max_by_union(v323), max_by_union(v324), max_by_union(v325), max_by_union(v326), max_by_union(v327), max_by_union(v328), max_by_union(v329), max_by_union(v330), max_by_union(v331), max_by_union(v332), max_by_union(v333), max_by_union(v334), max_by_union(v335), max_by_union(v336), max_by_union(v337), max_by_union(v338), max_by_union(v339), max_by_union(v340), max_by_union(v341), max_by_union(v342), max_by_union(v343), max_by_union(v344), max_by_union(v345), max_by_union(v346), max_by_union(v347), max_by_union(v348), max_by_union(v349), max_by_union(v350), max_by_union(v351), max_by_union(v352), max_by_union(v353), max_by_union(v354), max_by_union(v355), max_by_union(v356), max_by_union(v357), max_by_union(v358), max_by_union(v359), max_by_union(v360), max_by_union(v361), max_by_union(v362), max_by_union(v363), max_by_union(v364), max_by_union(v365), max_by_union(v366), max_by_union(v367), max_by_union(v368), max_by_union(v369), max_by_union(v370), max_by_union(v371), max_by_union(v372), max_by_union(v373), max_by_union(v374), max_by_union(v375), max_by_union(v376), max_by_union(v377), max_by_union(v378), max_by_union(v379), max_by_union(v380), max_by_union(v381), max_by_union(v382), max_by_union(v383), max_by_union(v384), max_by_union(v385), max_by_union(v386), max_by_union(v387), max_by_union(v388), max_by_union(v389), max_by_union(v390), max_by_union(v391), max_by_union(v392), max_by_union(v393), max_by_union(v394), max_by_union(v395), max_by_union(v396), max_by_union(v397), max_by_union(v398), max_by_union(v399), max_by_union(v400), max_by_union(v401), max_by_union(v402), max_by_union(v403), max_by_union(v404), max_by_union(v405), max_by_union(v406), max_by_union(v407), max_by_union(v408), max_by_union(v409), max_by_union(v410), max_by_union(v411), max_by_union(v412), max_by_union(v413), max_by_union(v414), max_by_union(v415), max_by_union(v416), max_by_union(v417), max_by_union(v418), max_by_union(v419), max_by_union(v420), max_by_union(v421), max_by_union(v422), max_by_union(v423), max_by_union(v424), max_by_union(v425), max_by_union(v426), max_by_union(v427), max_by_union(v428), max_by_union(v429), max_by_union(v430), max_by_union(v431), max_by_union(v432), max_by_union(v433), max_by_union(v434), max_by_union(v435), max_by_union(v436), max_by_union(v437), max_by_union(v438), max_by_union(v439), max_by_union(v440), max_by_union(v441), max_by_union(v442), max_by_union(v443), max_by_union(v444), max_by_union(v445), max_by_union(v446), min_by_union(v447), min_by_union(v448), min_by_union(v449), min_by_union(v450), min_by_union(v451), min_by_union(v452), min_by_union(v453), min_by_union(v454), min_by_union(v455), min_by_union(v456), min_by_union(v457), min_by_union(v458), min_by_union(v459), min_by_union(v460), min_by_union(v461), min_by_union(v462), min_by_union(v463), min_by_union(v464), min_by_union(v465), min_by_union(v466), min_by_union(v467), min_by_union(v468), min_by_union(v469), min_by_union(v470), min_by_union(v471), min_by_union(v472), min_by_union(v473), min_by_union(v474), min_by_union(v475), min_by_union(v476), min_by_union(v477), min_by_union(v478), min_by_union(v479), min_by_union(v480), min_by_union(v481), min_by_union(v482), min_by_union(v483), min_by_union(v484), min_by_union(v485), min_by_union(v486), min_by_union(v487), min_by_union(v488), min_by_union(v489), min_by_union(v490), min_by_union(v491), min_by_union(v492), min_by_union(v493), min_by_union(v494), min_by_union(v495), min_by_union(v496), min_by_union(v497), min_by_union(v498), min_by_union(v499), min_by_union(v500), min_by_union(v501), min_by_union(v502), min_by_union(v503), min_by_union(v504), min_by_union(v505), min_by_union(v506), min_by_union(v507), min_by_union(v508), min_by_union(v509), min_by_union(v510), min_by_union(v511), min_by_union(v512), min_by_union(v513), min_by_union(v514), min_by_union(v515), min_by_union(v516), min_by_union(v517), min_by_union(v518), min_by_union(v519), min_by_union(v520), min_by_union(v521), min_by_union(v522), min_by_union(v523), min_by_union(v524), min_by_union(v525), min_by_union(v526), min_by_union(v527), min_by_union(v528), min_by_union(v529), min_by_union(v530), min_by_union(v531), min_by_union(v532), min_by_union(v533), min_by_union(v534), min_by_union(v535), min_by_union(v536), min_by_union(v537), min_by_union(v538), min_by_union(v539), min_by_union(v540), min_by_union(v541), min_by_union(v542), min_by_union(v543), min_by_union(v544), min_by_union(v545), min_by_union(v546), min_by_union(v547), min_by_union(v548), min_by_union(v549), min_by_union(v550), min_by_union(v551), min_by_union(v552), min_by_union(v553), min_by_union(v554), min_by_union(v555), min_by_union(v556), min_by_union(v557), min_by_union(v558), min_by_union(v559), min_by_union(v560), min_by_union(v561), min_by_union(v562), min_by_union(v563), min_by_union(v564), min_by_union(v565), min_by_union(v566), min_by_union(v567), min_by_union(v568), min_by_union(v569), min_by_union(v570), min_by_union(v571), min_by_union(v572), min_by_union(v573), min_by_union(v574), min_by_union(v575), min_by_union(v576), min_by_union(v577), min_by_union(v578), min_by_union(v579), min_by_union(v580), min_by_union(v581), min_by_union(v582), min_by_union(v583), min_by_union(v584), min_by_union(v585), min_by_union(v586), min_by_union(v587), min_by_union(v588), min_by_union(v589), min_by_union(v590), min_by_union(v591), min_by_union(v592), min_by_union(v593), min_by_union(v594), min_by_union(v595), min_by_union(v596), min_by_union(v597), min_by_union(v598), min_by_union(v599), min_by_union(v600), min_by_union(v601), min_by_union(v602), min_by_union(v603), min_by_union(v604), min_by_union(v605), min_by_union(v606), min_by_union(v607), min_by_union(v608), min_by_union(v609), min_by_union(v610), min_by_union(v611), min_by_union(v612), min_by_union(v613), min_by_union(v614), min_by_union(v615), min_by_union(v616), min_by_union(v617), min_by_union(v618), min_by_union(v619), min_by_union(v620), min_by_union(v621), min_by_union(v622), min_by_union(v623), min_by_union(v624), min_by_union(v625), min_by_union(v626), min_by_union(v627), min_by_union(v628), min_by_union(v629), min_by_union(v630), min_by_union(v631), min_by_union(v632), min_by_union(v633), min_by_union(v634), min_by_union(v635), min_by_union(v636), min_by_union(v637), min_by_union(v638), min_by_union(v639), min_by_union(v640), min_by_union(v641), min_by_union(v642), min_by_union(v643), min_by_union(v644), min_by_union(v645), min_by_union(v646), min_by_union(v647), min_by_union(v648), min_by_union(v649), min_by_union(v650), min_by_union(v651), min_by_union(v652), min_by_union(v653), min_by_union(v654), min_by_union(v655), min_by_union(v656), variance_pop_union(v657), variance_pop_union(v658), variance_pop_union(v659), variance_pop_union(v660), variance_pop_union(v661), variance_pop_union(v662), variance_pop_union(v663), variance_pop_union(v664), avg_union(v665), avg_union(v666), avg_union(v667), avg_union(v668), avg_union(v669), avg_union(v670), avg_union(v671), avg_union(v672), avg_union(v673), avg_union(v674), any_value_union(v675), any_value_union(v676), any_value_union(v677), any_value_union(v678), any_value_union(v679), any_value_union(v680), any_value_union(v681), any_value_union(v682), any_value_union(v683), any_value_union(v684), any_value_union(v685), any_value_union(v686), any_value_union(v687), any_value_union(v688), any_value_union(v689), any_value_union(v690), any_value_union(v691), any_value_union(v692), any_value_union(v693), var_pop_union(v694), var_pop_union(v695), var_pop_union(v696), var_pop_union(v697), var_pop_union(v698), var_pop_union(v699), var_pop_union(v700), var_pop_union(v701), stddev_pop_union(v702), stddev_pop_union(v703), stddev_pop_union(v704), stddev_pop_union(v705), stddev_pop_union(v706), stddev_pop_union(v707), stddev_pop_union(v708), stddev_pop_union(v709), variance_samp_union(v710), variance_samp_union(v711), variance_samp_union(v712), variance_samp_union(v713), variance_samp_union(v714), variance_samp_union(v715), variance_samp_union(v716), variance_samp_union(v717), percentile_cont_union(v718), percentile_cont_union(v719), percentile_cont_union(v720), corr_union(v721), corr_union(v722), corr_union(v723), corr_union(v724), corr_union(v725), corr_union(v726), corr_union(v727), corr_union(v728), multi_distinct_sum_union(v729), multi_distinct_sum_union(v730), multi_distinct_sum_union(v731), multi_distinct_sum_union(v732), multi_distinct_sum_union(v733), multi_distinct_sum_union(v734), multi_distinct_sum_union(v735), multi_distinct_sum_union(v736), multi_distinct_sum_union(v737), multi_distinct_sum_union(v738), multi_distinct_sum_union(v739), var_samp_union(v740), var_samp_union(v741), var_samp_union(v742), var_samp_union(v743), var_samp_union(v744), var_samp_union(v745), var_samp_union(v746), var_samp_union(v747), bitmap_union_int_union(v748), bitmap_union_int_union(v749), bitmap_union_int_union(v750), bitmap_union_int_union(v751), variance_union(v752), variance_union(v753), variance_union(v754), variance_union(v755), variance_union(v756), variance_union(v757), variance_union(v758), variance_union(v759) from test_agg_state_table group by k1; +-- result: +2024-01-01 [0,1,null] [127,null] [32000,32100,null] [2147483647,2047483647,null] [9223372036854775807,9023372036854775807,null] [100141183460469231731687303715884105727,170141183460469231731687303715884105727,null] [12345.6789,123450.6789,null] [123450.67,12345.67,null] [123.46,1230.46,null] [123.46,1230.46,null] [123.46,1230.46,null] ["ExampleCharData","a",null] ["2024-01-01","2024-01-02",null] ["2024-01-01 12:34:56","2024-01-01 13:34:56",null] b'\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00zD\xff\xff\x7f\x7f\xff\xff\x7f\xff\xd0\x07\x00\x00\x00\x00\x00\x00@\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@@\x00\x00\x00\x00\x03\x00\x00\x00\xb7\xe6@F\x00\x00\x80?\xb7\xe6@F\x00\x00\x80?W\x1d\xf1G\x00\x00\x80?\x01\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00zD\xff\xff\x7f\x7f\xff\xff\x7f\xff\xd0\x07\x00\x00\x00\x00\x00\x00@\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@@\x00\x00\x00\x00\x03\x00\x00\x00\xb7\xe6@F\x00\x00\x80?\xb7\xe6@F\x00\x00\x80?W\x1d\xf1G\x00\x00\x80?\x01\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x80' b'(~\x8c\xb9\x95\x1c\xe8@(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfCU\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbGW\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [0,1,null] [-1,1,127,null] [-100,32767,100,null] [-100000,100000,2147483647,null] [-10000000000,10000000000,9223372036854775807,null] [12345678901234567890,-12345678901234567890,170141183460469231731687303715884105727,null] [1.23,4.56,7.89,null] [7.89,1.23,4.56,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] ["abc","def","ghi",null] ["2024-01-01","2024-01-02",null] ["2024-01-01 12:34:56","2024-01-02 12:34:56",null] b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01' b'\x00\x00\x00\x00\x00\x00\xe0?\x02\x00\x00\x00\x00\x00\x00\x00\x7f\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x00}\x00}d}' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xff\x1e\nz\xff\xff\xff\x7f\xff\xff\xff\x7f' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xff\xff\xebD\x0fu9}\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\x7f' b"\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f" b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00ExampleCharData\x0f\x00\x00\x00\x00\x00\x00\x00ExampleCharData\x01\x00\x00\x00\x00\x00\x00\x00a' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x97\x8a%\x00\x98\x8a%\x00\x98\x8a%\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%\x00\x1c\xda\x8b\n\x97\x8a%\x00\xc0mb\x0b\x97\x8a%' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x14?\xc6\xdc\xaa#\xfe@' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F\xae\xe6@FV\x1d\xf1G' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe3t\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x7ft\xe3t\xcc\x7f\x00\x00\xc0t\xe3t\xcc\x7f\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00}d}\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f\xff\x1e\nz\xb0u\xe3t\xcc\x7f\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xebD\x0fu9}' b"\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x02\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x14?\xc6\xdc\xaa#\xfe@' b'\x02\x00\x00\x00\x00\x00\x00\x00V\x1d\xf1G\xae\xe6@F\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' ExampleCharDataa b'\x02\x00\x00\x00\x00\x00\x00\x00\x97\x8a%\x00\x98\x8a%\x000w\xe3t\xcc\x7f\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%\x00\xc0mb\x0b\x97\x8a%' {"col1":["ExampleVarcharData","ExampleVarcharData","ExampleVarcharData",null]} b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'\x01\x01\x00\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@\x02\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x01\x00\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@\x02\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x01\x00\x00\x00\x00\x00\x00\x00' b'\x01\x01\x00\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@\x02\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x00\x00\x00\x00\x00\x00' 1 127 32100 2147483647 9223372036854775807 170141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-02 2024-01-01 13:34:56 b'\x02\x01\x07\x12\x03\x08\x02\x08\xefd\x8f\x0b\xfc\x13\xfe\x06' b'\x02\x01\x07\x12\x03\x08\x02\x08\xefd\x8f\x0b\xfc\x13\xfe\x06' b'\x02\x01\x07\x12\x03\x08\x02\x08\xefd\x8f\x0b\xfc\x13\xfe\x06' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x01\x08\xfe\x90]\r' b'\x02\x01\x07\x12\x03\x08\x02\x08\xb0Lw\x14*\xe0\x83\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\xb0Lw\x14*\xe0\x83\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\xb0Lw\x14*\xe0\x83\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\x1f\xc0\xfa\x08g\xf4\x15\r' b'\x02\x01\x07\x12\x03\x08\x02\x08\x1f\xc0\xfa\x08g\xf4\x15\r' b'\x02\x01\x07\x12\x03\x08\x02\x08\x1f\xc0\xfa\x08g\xf4\x15\r' b'\x02\x01\x07\x12\x03\x08\x02\x08cTv\x06\x93Z\xd6\x0e' b'\x02\x01\x07\x12\x03\x08\x02\x08cTv\x06\x93Z\xd6\x0e' b'\x02\x01\x07\x12\x03\x08\x02\x08cTv\x06\x93Z\xd6\x0e' b'\x02\x01\x07\x12\x03\x08\x02\x08\x85f\xf7\nOj\xd9\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\x85f\xf7\nOj\xd9\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\x85f\xf7\nOj\xd9\x10' b'\x02\x01\x07\x12\x03\x08\x02\x08\xd4<\xe1\t\xd8\tY\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\xd4<\xe1\t\xd8\tY\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\xd4<\xe1\t\xd8\tY\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\xf5x\xd7\x07\xc9#\xa1\n' b'\x02\x01\x07\x12\x03\x08\x02\x08\xf5x\xd7\x07\xc9#\xa1\n' b'\x02\x01\x07\x12\x03\x08\x02\x08\xf5x\xd7\x07\xc9#\xa1\n' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x02\x08\x97\xe0\x85\x06\xc3;\xe7\x07' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x01\x08\x18\x93&\x1f' b'\x02\x01\x07\x12\x03\x08\x02\x08\r\xe3\xe0\x05"\x14?\x04' b'\x02\x01\x07\x12\x03\x08\x02\x08\r\xe3\xe0\x05"\x14?\x04' b'\x02\x01\x07\x12\x03\x08\x02\x08\r\xe3\xe0\x05"\x14?\x04' b'\x02\x01\x07\x12\x03\x08\x02\x08\xc87\xe1\x06r\x155\r' b'\x02\x01\x07\x12\x03\x08\x02\x08\xc87\xe1\x06r\x155\r' b'\x02\x01\x07\x12\x03\x08\x02\x08\xc87\xe1\x06r\x155\r' b'\x01\x02\x88\xa2\xaf#\xce\x92[\xa5\x06\xa5\x9cS\xe3\xb8e2' b'\x01\x01:\x00^\x08A)\xa0\xb8' b"\x01\x02\x911\xac\x01\xa2\x98T\xc3\x19'\xd5\xbe \x1b\xa8\x8b" b'\x01\x02\x85\xce\x91b\xef\x80\xb7F\xcd\x8c\r\x1b\xa8\x080\x0b' b'\x01\x02\xd5q\x18\xb7\x88{X\xcf]\xd3\xd5\xf1/\xebWU' b"\x01\x02\xd6\x8c\x0f\x13\x17'1/4\x03/\x96\xe1\x9e\xd8/" b'\x01\x02\x16\xa8\x87\xc4:\x06\x9b\xb7\xcb\xc9/\x864\xbd-\x1b' b'\x01\x02wv\xea\xdf\xa8\x08e\x99\x1d\x87\x1dfK\xc3T!' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x01\xb5\xd9\x842;_\xb7\xf5' b'\x01\x02\xcf\x93\xbd\xca\x91\xf2\x7fr\xe9\xf7\x82\xf9X\xf9e\xb9' b'\x01\x02\x15\x9a&5\x04\xa8\x15R\x80\xa4\x95\t\xbf\xc7z\xa4' b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'(~\x8c\xb9\x95\x1c\xe8@(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfCU\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbGW\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' None None None None None None b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' 148142.0367 148142.01171875 254 96100 6342450941 9023372036854775805 100141183460469231731687303715884105725 1477.38 1477.38 1477.38 b'\x01\x02\x88\xa2\xaf#\xce\x92[\xa5\x06\xa5\x9cS\xe3\xb8e2' b'\x01\x01:\x00^\x08A)\xa0\xb8' b"\x01\x02\x911\xac\x01\xa2\x98T\xc3\x19'\xd5\xbe \x1b\xa8\x8b" b'\x01\x02\x85\xce\x91b\xef\x80\xb7F\xcd\x8c\r\x1b\xa8\x080\x0b' b'\x01\x02\xd5q\x18\xb7\x88{X\xcf]\xd3\xd5\xf1/\xebWU' b"\x01\x02\xd6\x8c\x0f\x13\x17'1/4\x03/\x96\xe1\x9e\xd8/" b'\x01\x02\x16\xa8\x87\xc4:\x06\x9b\xb7\xcb\xc9/\x864\xbd-\x1b' b'\x01\x02wv\xea\xdf\xa8\x08e\x99\x1d\x87\x1dfK\xc3T!' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x02,8\xd7Jp\x10@j\x9d6\xf8\x93E+\xaa\xa7' b'\x01\x01\xb5\xd9\x842;_\xb7\xf5' b'\x01\x02\xcf\x93\xbd\xca\x91\xf2\x7fr\xe9\xf7\x82\xf9X\xf9e\xb9' b'\x01\x02\x15\x9a&5\x04\xa8\x15R\x80\xa4\x95\t\xbf\xc7z\xa4' 0 127 32000 2047483647 9023372036854775807 100141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-01 2024-01-01 12:34:56 -6917529027641081853   } b'\x01\x00\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x01\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x01\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x01\x00\x98\x8a%\x00' b'\x01\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue   } b'\x7f\x00\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x7f\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x7f\x00\x98\x8a%\x00' b'\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue d} d} d}d} b'd}\x00\xff\x1e\nz' b'd}\x00\xff\xff\xebD\x0fu9}' b"d}\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'd}\x00\x14?\xc6\xdc\xaa#\xfe@' b'd}\x00V\x1d\xf1G' b'd}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'd}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'd}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' d}ExampleVarcharData b'd}\x00\x97\x8a%\x00' b'd}\x00\x00\xc0mb\x0b\x97\x8a%' d} CkeyEvalue b'\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x01' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00}' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xae\xe6@F' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00:0\x00\x00\x00\x00\x00\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x98\x8a%\x00' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x14\rCkeyEvalue\x01' b'\x14?\xc6\xdc\xaa#\xfe@\x00\x00' b'\x14?\xc6\xdc\xaa#\xfe@\x01' b'\x14?\xc6\xdc\xaa#\xfe@\x00d}' b'\x14?\xc6\xdc\xaa#\xfe@\x00\xff\x1e\nz' b'\x14?\xc6\xdc\xaa#\xfe@\x00\xff\xff\xebD\x0fu9}' b"\x14?\xc6\xdc\xaa#\xfe@\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x14?\xc6\xdc\xaa#\xfe@\x00\x14?\xc6\xdc\xaa#\xfe@' b'\x14?\xc6\xdc\xaa#\xfe@\x00V\x1d\xf1G' b'\x14?\xc6\xdc\xaa#\xfe@\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x14?\xc6\xdc\xaa#\xfe@\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x14?\xc6\xdc\xaa#\xfe@\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x14?\xc6\xdc\xaa#\xfe@\x00\x12\x00\x00\x00ExampleVarcharData' b'\x14?\xc6\xdc\xaa#\xfe@\x00\x97\x8a%\x00' b'\x14?\xc6\xdc\xaa#\xfe@\x00\x00\xc0mb\x0b\x97\x8a%' b'\x14?\xc6\xdc\xaa#\xfe@\x00\x14\rCkeyEvalue\x01' b'V\x1d\xf1G\x00\x00' b'V\x1d\xf1G\x01' b'V\x1d\xf1G\x00d}' b'V\x1d\xf1G\x00\xff\x1e\nz' b'V\x1d\xf1G\x00\xff\xff\xebD\x0fu9}' b"V\x1d\xf1G\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'V\x1d\xf1G\x00\x14?\xc6\xdc\xaa#\xfe@' b'V\x1d\xf1G\x00V\x1d\xf1G' b'V\x1d\xf1G\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'V\x1d\xf1G\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'V\x1d\xf1G\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'V\x1d\xf1G\x00\x12\x00\x00\x00ExampleVarcharData' b'V\x1d\xf1G\x00\x97\x8a%\x00' b'V\x1d\xf1G\x00\x00\xc0mb\x0b\x97\x8a%' b'V\x1d\xf1G\x00\x14\rCkeyEvalue\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00d}' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\x1e\nz' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xebD\x0fu9}' b"\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00V\x1d\xf1G' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x97\x8a%\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00\xc0mb\x0b\x97\x8a%' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14\rCkeyEvalue\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00d}' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\x1e\nz' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xebD\x0fu9}' b"\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00V\x1d\xf1G' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x97\x8a%\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00\xc0mb\x0b\x97\x8a%' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14\rCkeyEvalue\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x01' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00d}' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\x1e\nz' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xebD\x0fu9}' b"\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14?\xc6\xdc\xaa#\xfe@' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00V\x1d\xf1G' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x97\x8a%\x00' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x00\xc0mb\x0b\x97\x8a%' b'\xa6\xe0\x01\x00\x00\x00\x00\x00\x00\x14\rCkeyEvalue\x01' ExampleVarcharData ExampleVarcharData ExampleVarcharData} b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x10\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharDataExampleVarcharData b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' ExampleVarcharData  CkeyEvalue b'\x98\x8a%\x00\x00\x01' b'\x98\x8a%\x00\x00\x7f' b'\x98\x8a%\x00\x00\x00}' b'\x98\x8a%\x00\x00\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x98\x8a%\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x98\x8a%\x00\x00\xae\xe6@F' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00:0\x00\x00\x00\x00\x00\x00' b'\x98\x8a%\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\x98\x8a%\x00\x00\x98\x8a%\x00' b'\x98\x8a%\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x98\x8a%\x00\x00\x14\rCkeyEvalue\x01' b'\x00\xc0mb\x0b\x97\x8a%\x00\x00' b'\x00\xc0mb\x0b\x97\x8a%\x01' b'\x00\xc0mb\x0b\x97\x8a%\x00d}' b'\x00\xc0mb\x0b\x97\x8a%\x00\xff\x1e\nz' b'\x00\xc0mb\x0b\x97\x8a%\x00\xff\xff\xebD\x0fu9}' b"\x00\xc0mb\x0b\x97\x8a%\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x00\xc0mb\x0b\x97\x8a%\x00\x14?\xc6\xdc\xaa#\xfe@' b'\x00\xc0mb\x0b\x97\x8a%\x00V\x1d\xf1G' b'\x00\xc0mb\x0b\x97\x8a%\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\xc0mb\x0b\x97\x8a%\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\xc0mb\x0b\x97\x8a%\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\xc0mb\x0b\x97\x8a%\x00\x12\x00\x00\x00ExampleVarcharData' b'\x00\xc0mb\x0b\x97\x8a%\x00\x97\x8a%\x00' b'\x00\xc0mb\x0b\x97\x8a%\x00\x00\xc0mb\x0b\x97\x8a%' b'\x00\xc0mb\x0b\x97\x8a%\x00\x14\rCkeyEvalue\x01'  d} b'\x00\x00\xff\x1e\nz' b'\x00\x00\xff\xff\xebD\x0fu9}' b"\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x00\x00\x14?\xc6\xdc\xaa#\xfe@' b'\x00\x00V\x1d\xf1G' b'\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' ExampleVarcharData b'\x00\x00\x97\x8a%\x00' b'\x00\x00\x00\xc0mb\x0b\x97\x8a%'  CkeyEvalue   } b'\x7f\x00\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x7f\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x7f\x00\xae\xe6@F' :0 :0 :0 ExampleVarcharData b'\x7f\x00\x98\x8a%\x00' b'\x7f\x00\x00\x1c\xda\x8b\n\x97\x8a%'  CkeyEvalue } } }} b'\x00}\x00\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00}\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00}\x00\xae\xe6@F' }:0 }:0 }:0 }ExampleVarcharData b'\x00}\x00\x98\x8a%\x00' b'\x00}\x00\x00\x1c\xda\x8b\n\x97\x8a%' } CkeyEvalue b'\xff\x1e\nz\x00\x00' b'\xff\x1e\nz\x01' b'\xff\x1e\nz\x00d}' b'\xff\x1e\nz\x00\xff\x1e\nz' b'\xff\x1e\nz\x00\xff\xff\xebD\x0fu9}' b"\xff\x1e\nz\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\xff\x1e\nz\x00\x14?\xc6\xdc\xaa#\xfe@' b'\xff\x1e\nz\x00V\x1d\xf1G' b'\xff\x1e\nz\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\x1e\nz\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\x1e\nz\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\x1e\nz\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\x1e\nz\x00\x97\x8a%\x00' b'\xff\x1e\nz\x00\x00\xc0mb\x0b\x97\x8a%' b'\xff\x1e\nz\x00\x14\rCkeyEvalue\x01' b'\xff\xff\xebD\x0fu9}\x00\x00' b'\xff\xff\xebD\x0fu9}\x01' b'\xff\xff\xebD\x0fu9}\x00d}' b'\xff\xff\xebD\x0fu9}\x00\xff\x1e\nz' b'\xff\xff\xebD\x0fu9}\x00\xff\xff\xebD\x0fu9}' b"\xff\xff\xebD\x0fu9}\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\xff\xff\xebD\x0fu9}\x00\x14?\xc6\xdc\xaa#\xfe@' b'\xff\xff\xebD\x0fu9}\x00V\x1d\xf1G' b'\xff\xff\xebD\x0fu9}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\xff\xebD\x0fu9}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\xff\xebD\x0fu9}\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\xff\xff\xebD\x0fu9}\x00\x12\x00\x00\x00ExampleVarcharData' b'\xff\xff\xebD\x0fu9}\x00\x97\x8a%\x00' b'\xff\xff\xebD\x0fu9}\x00\x00\xc0mb\x0b\x97\x8a%' b'\xff\xff\xebD\x0fu9}\x00\x14\rCkeyEvalue\x01' b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x00" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x01" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00d}" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xff\x1e\nz" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xff\xff\xebD\x0fu9}" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x14?\xc6\xdc\xaa#\xfe@" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00V\x1d\xf1G" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xa6\xe0\x01\x00\x00\x00\x00\x00" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xa6\xe0\x01\x00\x00\x00\x00\x00" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\xa6\xe0\x01\x00\x00\x00\x00\x00" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x12\x00\x00\x00ExampleVarcharData" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x97\x8a%\x00" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x00\xc0mb\x0b\x97\x8a%" b"\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK\x00\x14\rCkeyEvalue\x01" b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x01' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00}' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\xae\xe6@F' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00:0\x00\x00\x00\x00\x00\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x12\x00\x00\x00ExampleVarcharData' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x98\x8a%\x00' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xa1\xf81\xe6\xd6\x1c\xc8@\x00\x14\rCkeyEvalue\x01' b'\xae\xe6@F\x00\x01' b'\xae\xe6@F\x00\x7f' b'\xae\xe6@F\x00\x00}' b'\xae\xe6@F\x00\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\xae\xe6@F\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\xae\xe6@F\x00\xae\xe6@F' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00:0\x00\x00\x00\x00\x00\x00' b'\xae\xe6@F\x00\x12\x00\x00\x00ExampleVarcharData' b'\xae\xe6@F\x00\x98\x8a%\x00' b'\xae\xe6@F\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\xae\xe6@F\x00\x14\rCkeyEvalue\x01' :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue :0 :0 :0} b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b':0\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b':0\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' :0:0 :0:0 :0:0 :0ExampleVarcharData b':0\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b':0\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' :0 CkeyEvalue ExampleVarcharData ExampleVarcharData ExampleVarcharData} b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x10\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\xae\xe6@F' ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharData:0 ExampleVarcharDataExampleVarcharData b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x04\x00\x00\x00\x00\x00\x00\x00\x98\x8a%\x00' b'\x12\x00\x00\x00\x00\x00\x00\x00ExampleVarcharData\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%' ExampleVarcharData  CkeyEvalue b'\x97\x8a%\x00\x00\x00' b'\x97\x8a%\x00\x01' b'\x97\x8a%\x00\x00d}' b'\x97\x8a%\x00\x00\xff\x1e\nz' b'\x97\x8a%\x00\x00\xff\xff\xebD\x0fu9}' b"\x97\x8a%\x00\x00\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x97\x8a%\x00\x00\x14?\xc6\xdc\xaa#\xfe@' b'\x97\x8a%\x00\x00V\x1d\xf1G' b'\x97\x8a%\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x97\x8a%\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x97\x8a%\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x97\x8a%\x00\x00\x12\x00\x00\x00ExampleVarcharData' b'\x97\x8a%\x00\x00\x97\x8a%\x00' b'\x97\x8a%\x00\x00\x00\xc0mb\x0b\x97\x8a%' b'\x97\x8a%\x00\x00\x14\rCkeyEvalue\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x01' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00}' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xa1\xf81\xe6\xd6\x1c\xc8@' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\xae\xe6@F' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00:0\x00\x00\x00\x00\x00\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x12\x00\x00\x00ExampleVarcharData' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x98\x8a%\x00' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x00\x1c\xda\x8b\n\x97\x8a%' b'\x00\x1c\xda\x8b\n\x97\x8a%\x00\x14\rCkeyEvalue\x01' b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'\x9e^)Kp\x15\x02A\x03\x00\x00\x00\x00\x00\x00\x00' pA b'\x00\x00\x00\x00\x00\xc0o@\x02\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00@v\xf7@\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\xd0\xef\xa1\xa0\xf7A\x03\x00\x00\x00\x00\x00\x00\x00' b'\xc0N\xf4P\x97\xd3\xf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'\x81p\xa2\xd8g\xb5\xf4G\x03\x00\x00\x00\x00\x00\x00\x00' A A A 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 [10000000000,-10000000000,9223372036854775807] {"key1":"value1","key2":"value2"} {"col1":null} {"key": "value"} MyVarbinaryData b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x97\x8a%\x00\x98\x8a%\x00\x98\x8a%\x00' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xda\x8b\n\x97\x8a%\x00\x1c\xda\x8b\n\x97\x8a%\x00\xc0mb\x0b\x97\x8a%' b'\x00\x00\x00\x00\x00\x00\xe0?\x03\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\xa1\xf81\xe6\xd6\x1c\xc8@\x14?\xc6\xdc\xaa#\xfe@' b'(~\x8c\xb9\x95\x1c\xe8@(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00`\xd5N\xa8\xfeA\x00\x00`\xd5N\xa8\xfeA' b'VUUu\x95\x1c\xe8@VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00\x02`u\xe7N\xa8\xfeA\x02`u\xe7N\xa8\xfeA' b'UUUUUU\xe5?UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00UUUUUU\xe5?UUUUUU\xe5?' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\xaa\xaa\xaa\n\xba@\xaa\xaa\xaa\xaa\xaa\n\xba@' b'\xab\xaaj\xea\xd7\x80\xdfA\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x80JL\xaf7C\xaa\xaa\x80JL\xaf7C' b'U\xbeE\xc1\xc9\xc4\xdfCU\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00\xacR\x90\x9c\x12\x8b\x14G\xacR\x90\x9c\x12\x8b\x14G' b'W\xeb-v\x8a\x9c\xdbGW\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00>\x98\xb0\xa3x\xe3\x9cO>\x98\xb0\xa3x\xe3\x9cO' b'\x02\x00\x00\x00\x00\x00\x00\x00\xa1\xf81\xe6\xd6\x1c\xc8@\x14?\xc6\xdc\xaa#\xfe@' b'\x02\x00\x00\x00\x00\x00\x00\x00V\x1d\xf1G\xae\xe6@F\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe3t\xcc\x7f\x00\x00@j\xe3t\xcc\x7f\x00\x00' b'\x01\x00\x00\x00\x00\x00\x00\x00\x7fk\xe3t\xcc\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\x00}d}\xcc\x7f\x00\x000k\xe3t\xcc\x7f\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f\xff\x1e\nz\x00\x00\x00\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xebD\x0fu9}' b"\x02\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\xff\xff\xff\xff\x9f\x81R\xf9\x10\x10\x08'\x8a}VK" b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'\x02\x00\x00\x00\x00\x00\x00\x00:0\x00\x00\x00\x00\x00\x00\xa6\xe0\x01\x00\x00\x00\x00\x00' b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' None None None None b'(~\x8c\xb9\x95\x1c\xe8@\x00\x00`\xd5N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'VUUu\x95\x1c\xe8@\x02`u\xe7N\xa8\xfeA\x03\x00\x00\x00\x00\x00\x00\x00' b'UUUUUU\xe5?UUUUUU\xe5?\x03\x00\x00\x00\x00\x00\x00\x00' b'\x00\x00\x00\x00\x00\xc0_@\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00' b'UUUUUH\xdf@\xaa\xaa\xaa\xaa\xaa\n\xba@\x03\x00\x00\x00\x00\x00\x00\x00' b'\xab\xaaj\xea\xd7\x80\xdfA\xaa\xaa\x80JL\xaf7C\x03\x00\x00\x00\x00\x00\x00\x00' b'U\xbeE\xc1\xc9\xc4\xdfC\xacR\x90\x9c\x12\x8b\x14G\x03\x00\x00\x00\x00\x00\x00\x00' b'W\xeb-v\x8a\x9c\xdbG>\x98\xb0\xa3x\xe3\x9cO\x03\x00\x00\x00\x00\x00\x00\x00' +-- !result +select k1, array_agg_distinct_merge(v0),array_agg_distinct_merge(v1),array_agg_distinct_merge(v2),array_agg_distinct_merge(v3),array_agg_distinct_merge(v4),array_agg_distinct_merge(v5),array_agg_distinct_merge(v6),array_agg_distinct_merge(v7),array_agg_distinct_merge(v8),array_agg_distinct_merge(v9),array_agg_distinct_merge(v10),array_agg_distinct_merge(v11),array_agg_distinct_merge(v12),array_agg_distinct_merge(v13),percentile_approx_merge(v14),percentile_approx_merge(v15),covar_pop_merge(v16),covar_pop_merge(v17),covar_pop_merge(v18),covar_pop_merge(v19),covar_pop_merge(v20),covar_pop_merge(v21),covar_pop_merge(v22),covar_pop_merge(v23),count_merge(v24),count_merge(v25),count_merge(v26),count_merge(v27),count_merge(v28),count_merge(v29),count_merge(v30),count_merge(v31),count_merge(v32),count_merge(v33),count_merge(v34),count_merge(v35),count_merge(v36),count_merge(v37),count_merge(v38),count_merge(v39),count_merge(v40),count_merge(v41),count_merge(v42),array_unique_agg_merge(v43),array_unique_agg_merge(v44),array_unique_agg_merge(v45),array_unique_agg_merge(v46),array_unique_agg_merge(v47),array_unique_agg_merge(v48),array_unique_agg_merge(v49),array_unique_agg_merge(v50),array_unique_agg_merge(v51),array_unique_agg_merge(v52),array_unique_agg_merge(v53),array_unique_agg_merge(v54),array_unique_agg_merge(v55),array_unique_agg_merge(v56),array_unique_agg_merge(v57),percentile_disc_merge(v58),percentile_disc_merge(v59),percentile_disc_merge(v60),percentile_disc_merge(v61),percentile_disc_merge(v62),percentile_disc_merge(v63),percentile_disc_merge(v64),percentile_disc_merge(v65),percentile_disc_merge(v66),percentile_disc_merge(v67),percentile_disc_merge(v68),percentile_disc_merge(v69),percentile_disc_merge(v70),percentile_disc_merge(v71),multi_distinct_count_merge(v72),multi_distinct_count_merge(v73),multi_distinct_count_merge(v74),multi_distinct_count_merge(v75),multi_distinct_count_merge(v76),multi_distinct_count_merge(v77),multi_distinct_count_merge(v78),multi_distinct_count_merge(v79),multi_distinct_count_merge(v80),multi_distinct_count_merge(v81),multi_distinct_count_merge(v82),multi_distinct_count_merge(v83),multi_distinct_count_merge(v84),multi_distinct_count_merge(v85),array_agg_merge(v86),stddev_samp_merge(v87),stddev_samp_merge(v88),stddev_samp_merge(v89),stddev_samp_merge(v90),stddev_samp_merge(v91),stddev_samp_merge(v92),stddev_samp_merge(v93),stddev_samp_merge(v94),mann_whitney_u_test_merge(v95),mann_whitney_u_test_merge(v96),mann_whitney_u_test_merge(v97),max_merge(v98),max_merge(v99),max_merge(v100),max_merge(v101),max_merge(v102),max_merge(v103),max_merge(v104),max_merge(v105),max_merge(v106),max_merge(v107),max_merge(v108),max_merge(v109),max_merge(v110),max_merge(v111),ds_hll_count_distinct_merge(v112),ds_hll_count_distinct_merge(v113),ds_hll_count_distinct_merge(v114),ds_hll_count_distinct_merge(v115),ds_hll_count_distinct_merge(v116),ds_hll_count_distinct_merge(v117),ds_hll_count_distinct_merge(v118),ds_hll_count_distinct_merge(v119),ds_hll_count_distinct_merge(v120),ds_hll_count_distinct_merge(v121),ds_hll_count_distinct_merge(v122),ds_hll_count_distinct_merge(v123),ds_hll_count_distinct_merge(v124),ds_hll_count_distinct_merge(v125),ds_hll_count_distinct_merge(v126),ds_hll_count_distinct_merge(v127),ds_hll_count_distinct_merge(v128),ds_hll_count_distinct_merge(v129),ds_hll_count_distinct_merge(v130),ds_hll_count_distinct_merge(v131),ds_hll_count_distinct_merge(v132),ds_hll_count_distinct_merge(v133),ds_hll_count_distinct_merge(v134),ds_hll_count_distinct_merge(v135),ds_hll_count_distinct_merge(v136),ds_hll_count_distinct_merge(v137),ds_hll_count_distinct_merge(v138),ds_hll_count_distinct_merge(v139),ds_hll_count_distinct_merge(v140),ds_hll_count_distinct_merge(v141),ds_hll_count_distinct_merge(v142),ds_hll_count_distinct_merge(v143),ds_hll_count_distinct_merge(v144),ds_hll_count_distinct_merge(v145),ds_hll_count_distinct_merge(v146),ds_hll_count_distinct_merge(v147),ds_hll_count_distinct_merge(v148),ds_hll_count_distinct_merge(v149),ds_hll_count_distinct_merge(v150),ds_hll_count_distinct_merge(v151),ds_hll_count_distinct_merge(v152),ds_hll_count_distinct_merge(v153),ndv_merge(v154),ndv_merge(v155),ndv_merge(v156),ndv_merge(v157),ndv_merge(v158),ndv_merge(v159),ndv_merge(v160),ndv_merge(v161),ndv_merge(v162),ndv_merge(v163),ndv_merge(v164),ndv_merge(v165),ndv_merge(v166),ndv_merge(v167),stddev_merge(v168),stddev_merge(v169),stddev_merge(v170),stddev_merge(v171),stddev_merge(v172),stddev_merge(v173),stddev_merge(v174),stddev_merge(v175),covar_samp_merge(v176),covar_samp_merge(v177),covar_samp_merge(v178),covar_samp_merge(v179),covar_samp_merge(v180),covar_samp_merge(v181),covar_samp_merge(v182),covar_samp_merge(v183),bitmap_agg_merge(v184),bitmap_agg_merge(v185),bitmap_agg_merge(v186),bitmap_agg_merge(v187),bitmap_agg_merge(v188),bitmap_agg_merge(v189),std_merge(v190),std_merge(v191),std_merge(v192),std_merge(v193),std_merge(v194),std_merge(v195),std_merge(v196),std_merge(v197),sum_merge(v198),sum_merge(v199),sum_merge(v200),sum_merge(v201),sum_merge(v202),sum_merge(v203),sum_merge(v204),sum_merge(v205),sum_merge(v206),sum_merge(v207),approx_count_distinct_merge(v208),approx_count_distinct_merge(v209),approx_count_distinct_merge(v210),approx_count_distinct_merge(v211),approx_count_distinct_merge(v212),approx_count_distinct_merge(v213),approx_count_distinct_merge(v214),approx_count_distinct_merge(v215),approx_count_distinct_merge(v216),approx_count_distinct_merge(v217),approx_count_distinct_merge(v218),approx_count_distinct_merge(v219),approx_count_distinct_merge(v220),approx_count_distinct_merge(v221),min_merge(v222),min_merge(v223),min_merge(v224),min_merge(v225),min_merge(v226),min_merge(v227),min_merge(v228),min_merge(v229),min_merge(v230),min_merge(v231),min_merge(v232),min_merge(v233),min_merge(v234),min_merge(v235),retention_merge(v236),max_by_merge(v237),max_by_merge(v238),max_by_merge(v239),max_by_merge(v240),max_by_merge(v241),max_by_merge(v242),max_by_merge(v243),max_by_merge(v244),max_by_merge(v245),max_by_merge(v246),max_by_merge(v247),max_by_merge(v248),max_by_merge(v249),max_by_merge(v250),max_by_merge(v251),max_by_merge(v252),max_by_merge(v253),max_by_merge(v254),max_by_merge(v255),max_by_merge(v256),max_by_merge(v257),max_by_merge(v258),max_by_merge(v259),max_by_merge(v260),max_by_merge(v261),max_by_merge(v262),max_by_merge(v263),max_by_merge(v264),max_by_merge(v265),max_by_merge(v266),max_by_merge(v267),max_by_merge(v268),max_by_merge(v269),max_by_merge(v270),max_by_merge(v271),max_by_merge(v272),max_by_merge(v273),max_by_merge(v274),max_by_merge(v275),max_by_merge(v276),max_by_merge(v277),max_by_merge(v278),max_by_merge(v279),max_by_merge(v280),max_by_merge(v281),max_by_merge(v282),max_by_merge(v283),max_by_merge(v284),max_by_merge(v285),max_by_merge(v286),max_by_merge(v287),max_by_merge(v288),max_by_merge(v289),max_by_merge(v290),max_by_merge(v291),max_by_merge(v292),max_by_merge(v293),max_by_merge(v294),max_by_merge(v295),max_by_merge(v296),max_by_merge(v297),max_by_merge(v298),max_by_merge(v299),max_by_merge(v300),max_by_merge(v301),max_by_merge(v302),max_by_merge(v303),max_by_merge(v304),max_by_merge(v305),max_by_merge(v306),max_by_merge(v307),max_by_merge(v308),max_by_merge(v309),max_by_merge(v310),max_by_merge(v311),max_by_merge(v312),max_by_merge(v313),max_by_merge(v314),max_by_merge(v315),max_by_merge(v316),max_by_merge(v317),max_by_merge(v318),max_by_merge(v319),max_by_merge(v320),max_by_merge(v321),max_by_merge(v322),max_by_merge(v323),max_by_merge(v324),max_by_merge(v325),max_by_merge(v326),max_by_merge(v327),max_by_merge(v328),max_by_merge(v329),max_by_merge(v330),max_by_merge(v331),max_by_merge(v332),max_by_merge(v333),max_by_merge(v334),max_by_merge(v335),max_by_merge(v336),max_by_merge(v337),max_by_merge(v338),max_by_merge(v339),max_by_merge(v340),max_by_merge(v341),max_by_merge(v342),max_by_merge(v343),max_by_merge(v344),max_by_merge(v345),max_by_merge(v346),max_by_merge(v347),max_by_merge(v348),max_by_merge(v349),max_by_merge(v350),max_by_merge(v351),max_by_merge(v352),max_by_merge(v353),max_by_merge(v354),max_by_merge(v355),max_by_merge(v356),max_by_merge(v357),max_by_merge(v358),max_by_merge(v359),max_by_merge(v360),max_by_merge(v361),max_by_merge(v362),max_by_merge(v363),max_by_merge(v364),max_by_merge(v365),max_by_merge(v366),max_by_merge(v367),max_by_merge(v368),max_by_merge(v369),max_by_merge(v370),max_by_merge(v371),max_by_merge(v372),max_by_merge(v373),max_by_merge(v374),max_by_merge(v375),max_by_merge(v376),max_by_merge(v377),max_by_merge(v378),max_by_merge(v379),max_by_merge(v380),max_by_merge(v381),max_by_merge(v382),max_by_merge(v383),max_by_merge(v384),max_by_merge(v385),max_by_merge(v386),max_by_merge(v387),max_by_merge(v388),max_by_merge(v389),max_by_merge(v390),max_by_merge(v391),max_by_merge(v392),max_by_merge(v393),max_by_merge(v394),max_by_merge(v395),max_by_merge(v396),max_by_merge(v397),max_by_merge(v398),max_by_merge(v399),max_by_merge(v400),max_by_merge(v401),max_by_merge(v402),max_by_merge(v403),max_by_merge(v404),max_by_merge(v405),max_by_merge(v406),max_by_merge(v407),max_by_merge(v408),max_by_merge(v409),max_by_merge(v410),max_by_merge(v411),max_by_merge(v412),max_by_merge(v413),max_by_merge(v414),max_by_merge(v415),max_by_merge(v416),max_by_merge(v417),max_by_merge(v418),max_by_merge(v419),max_by_merge(v420),max_by_merge(v421),max_by_merge(v422),max_by_merge(v423),max_by_merge(v424),max_by_merge(v425),max_by_merge(v426),max_by_merge(v427),max_by_merge(v428),max_by_merge(v429),max_by_merge(v430),max_by_merge(v431),max_by_merge(v432),max_by_merge(v433),max_by_merge(v434),max_by_merge(v435),max_by_merge(v436),max_by_merge(v437),max_by_merge(v438),max_by_merge(v439),max_by_merge(v440),max_by_merge(v441),max_by_merge(v442),max_by_merge(v443),max_by_merge(v444),max_by_merge(v445),max_by_merge(v446),min_by_merge(v447),min_by_merge(v448),min_by_merge(v449),min_by_merge(v450),min_by_merge(v451),min_by_merge(v452),min_by_merge(v453),min_by_merge(v454),min_by_merge(v455),min_by_merge(v456),min_by_merge(v457),min_by_merge(v458),min_by_merge(v459),min_by_merge(v460),min_by_merge(v461),min_by_merge(v462),min_by_merge(v463),min_by_merge(v464),min_by_merge(v465),min_by_merge(v466),min_by_merge(v467),min_by_merge(v468),min_by_merge(v469),min_by_merge(v470),min_by_merge(v471),min_by_merge(v472),min_by_merge(v473),min_by_merge(v474),min_by_merge(v475),min_by_merge(v476),min_by_merge(v477),min_by_merge(v478),min_by_merge(v479),min_by_merge(v480),min_by_merge(v481),min_by_merge(v482),min_by_merge(v483),min_by_merge(v484),min_by_merge(v485),min_by_merge(v486),min_by_merge(v487),min_by_merge(v488),min_by_merge(v489),min_by_merge(v490),min_by_merge(v491),min_by_merge(v492),min_by_merge(v493),min_by_merge(v494),min_by_merge(v495),min_by_merge(v496),min_by_merge(v497),min_by_merge(v498),min_by_merge(v499),min_by_merge(v500),min_by_merge(v501),min_by_merge(v502),min_by_merge(v503),min_by_merge(v504),min_by_merge(v505),min_by_merge(v506),min_by_merge(v507),min_by_merge(v508),min_by_merge(v509),min_by_merge(v510),min_by_merge(v511),min_by_merge(v512),min_by_merge(v513),min_by_merge(v514),min_by_merge(v515),min_by_merge(v516),min_by_merge(v517),min_by_merge(v518),min_by_merge(v519),min_by_merge(v520),min_by_merge(v521),min_by_merge(v522),min_by_merge(v523),min_by_merge(v524),min_by_merge(v525),min_by_merge(v526),min_by_merge(v527),min_by_merge(v528),min_by_merge(v529),min_by_merge(v530),min_by_merge(v531),min_by_merge(v532),min_by_merge(v533),min_by_merge(v534),min_by_merge(v535),min_by_merge(v536),min_by_merge(v537),min_by_merge(v538),min_by_merge(v539),min_by_merge(v540),min_by_merge(v541),min_by_merge(v542),min_by_merge(v543),min_by_merge(v544),min_by_merge(v545),min_by_merge(v546),min_by_merge(v547),min_by_merge(v548),min_by_merge(v549),min_by_merge(v550),min_by_merge(v551),min_by_merge(v552),min_by_merge(v553),min_by_merge(v554),min_by_merge(v555),min_by_merge(v556),min_by_merge(v557),min_by_merge(v558),min_by_merge(v559),min_by_merge(v560),min_by_merge(v561),min_by_merge(v562),min_by_merge(v563),min_by_merge(v564),min_by_merge(v565),min_by_merge(v566),min_by_merge(v567),min_by_merge(v568),min_by_merge(v569),min_by_merge(v570),min_by_merge(v571),min_by_merge(v572),min_by_merge(v573),min_by_merge(v574),min_by_merge(v575),min_by_merge(v576),min_by_merge(v577),min_by_merge(v578),min_by_merge(v579),min_by_merge(v580),min_by_merge(v581),min_by_merge(v582),min_by_merge(v583),min_by_merge(v584),min_by_merge(v585),min_by_merge(v586),min_by_merge(v587),min_by_merge(v588),min_by_merge(v589),min_by_merge(v590),min_by_merge(v591),min_by_merge(v592),min_by_merge(v593),min_by_merge(v594),min_by_merge(v595),min_by_merge(v596),min_by_merge(v597),min_by_merge(v598),min_by_merge(v599),min_by_merge(v600),min_by_merge(v601),min_by_merge(v602),min_by_merge(v603),min_by_merge(v604),min_by_merge(v605),min_by_merge(v606),min_by_merge(v607),min_by_merge(v608),min_by_merge(v609),min_by_merge(v610),min_by_merge(v611),min_by_merge(v612),min_by_merge(v613),min_by_merge(v614),min_by_merge(v615),min_by_merge(v616),min_by_merge(v617),min_by_merge(v618),min_by_merge(v619),min_by_merge(v620),min_by_merge(v621),min_by_merge(v622),min_by_merge(v623),min_by_merge(v624),min_by_merge(v625),min_by_merge(v626),min_by_merge(v627),min_by_merge(v628),min_by_merge(v629),min_by_merge(v630),min_by_merge(v631),min_by_merge(v632),min_by_merge(v633),min_by_merge(v634),min_by_merge(v635),min_by_merge(v636),min_by_merge(v637),min_by_merge(v638),min_by_merge(v639),min_by_merge(v640),min_by_merge(v641),min_by_merge(v642),min_by_merge(v643),min_by_merge(v644),min_by_merge(v645),min_by_merge(v646),min_by_merge(v647),min_by_merge(v648),min_by_merge(v649),min_by_merge(v650),min_by_merge(v651),min_by_merge(v652),min_by_merge(v653),min_by_merge(v654),min_by_merge(v655),min_by_merge(v656),variance_pop_merge(v657),variance_pop_merge(v658),variance_pop_merge(v659),variance_pop_merge(v660),variance_pop_merge(v661),variance_pop_merge(v662),variance_pop_merge(v663),variance_pop_merge(v664),avg_merge(v665),avg_merge(v666),avg_merge(v667),avg_merge(v668),avg_merge(v669),avg_merge(v670),avg_merge(v671),avg_merge(v672),avg_merge(v673),avg_merge(v674),any_value_merge(v675),any_value_merge(v676),any_value_merge(v677),any_value_merge(v678),any_value_merge(v679),any_value_merge(v680),any_value_merge(v681),any_value_merge(v682),any_value_merge(v683),any_value_merge(v684),any_value_merge(v685),any_value_merge(v686),any_value_merge(v687),any_value_merge(v688),any_value_merge(v689),any_value_merge(v690),any_value_merge(v691),any_value_merge(v692),any_value_merge(v693),var_pop_merge(v694),var_pop_merge(v695),var_pop_merge(v696),var_pop_merge(v697),var_pop_merge(v698),var_pop_merge(v699),var_pop_merge(v700),var_pop_merge(v701),stddev_pop_merge(v702),stddev_pop_merge(v703),stddev_pop_merge(v704),stddev_pop_merge(v705),stddev_pop_merge(v706),stddev_pop_merge(v707),stddev_pop_merge(v708),stddev_pop_merge(v709),variance_samp_merge(v710),variance_samp_merge(v711),variance_samp_merge(v712),variance_samp_merge(v713),variance_samp_merge(v714),variance_samp_merge(v715),variance_samp_merge(v716),variance_samp_merge(v717),percentile_cont_merge(v718),percentile_cont_merge(v719),percentile_cont_merge(v720),corr_merge(v721),corr_merge(v722),corr_merge(v723),corr_merge(v724),corr_merge(v725),corr_merge(v726),corr_merge(v727),corr_merge(v728),multi_distinct_sum_merge(v729),multi_distinct_sum_merge(v730),multi_distinct_sum_merge(v731),multi_distinct_sum_merge(v732),multi_distinct_sum_merge(v733),multi_distinct_sum_merge(v734),multi_distinct_sum_merge(v735),multi_distinct_sum_merge(v736),multi_distinct_sum_merge(v737),multi_distinct_sum_merge(v738),multi_distinct_sum_merge(v739),var_samp_merge(v740),var_samp_merge(v741),var_samp_merge(v742),var_samp_merge(v743),var_samp_merge(v744),var_samp_merge(v745),var_samp_merge(v746),var_samp_merge(v747),bitmap_union_int_merge(v748),bitmap_union_int_merge(v749),bitmap_union_int_merge(v750),bitmap_union_int_merge(v751),variance_merge(v752),variance_merge(v753),variance_merge(v754),variance_merge(v755),variance_merge(v756),variance_merge(v757),variance_merge(v758),variance_merge(v759) from test_agg_state_table group by k1; +-- result: +2024-01-01 [0,1,null] [127,null] [32000,32100,null] [2147483647,2047483647,null] [9223372036854775807,9023372036854775807,null] [100141183460469231731687303715884105727,170141183460469231731687303715884105727,null] [12345.6789,123450.6789,null] [123450.67,12345.67,null] [123.46,1230.46,null] [123.46,1230.46,null] [123.46,1230.46,null] ["ExampleCharData","a",null] ["2024-01-01","2024-01-02",null] ["2024-01-01 12:34:56","2024-01-01 13:34:56",null] 12345.6787109375 12345.6787109375 2743182450.0 2743182546.445313 0.2222222222222222 0.0 2222.222222222222 2222222222222222.0 8.888888888888888e+33 1.0888888888888889e+75 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [0,1,null] [-1,1,127,null] [-100,32767,100,null] [-100000,100000,2147483647,null] [-10000000000,10000000000,9223372036854775807,null] [12345678901234567890,-12345678901234567890,170141183460469231731687303715884105727,null] [1.23,4.56,7.89,null] [7.89,1.23,4.56,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] [1.23,2.35,3.46,null] ["abc","def","ghi",null] ["2024-01-01","2024-01-02",null] ["2024-01-01 12:34:56","2024-01-02 12:34:56",null] 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 123.46 123.46 123.46 ExampleCharData 2024-01-02 2024-01-01 12:34:56 12345.6789 12345.67 2 1 2 2 2 2 2 2 2 2 2 2 2 2 ["ExampleVarcharData","ExampleVarcharData","ExampleVarcharData",null] 64146.50165831337 64146.502785950615 0.5773502691896257 0.0 57.735026918962575 57735026.918962575 1.1547005383792514e+17 4.04145188432738e+37 [2, 0.15729920705028522] [2, 0.9830525732376554] [2, 0.15729920705028522] 1 127 32100 2147483647 9223372036854775807 170141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-02 2024-01-01 13:34:56 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 52375.399282487575 52375.400203199526 0.4714045207910317 0.0 47.14045207910317 47140452.079103164 9.428090415820634e+16 3.299831645537222e+37 4114773675.0 4114773819.6679697 0.3333333333333333 0.0 3333.333333333333 3333333333333333.0 1.333333333333333e+34 1.6333333333333332e+75 None None None None None None 52375.399282487575 52375.400203199526 0.4714045207910317 0.0 47.14045207910317 47140452.079103164 9.428090415820634e+16 3.299831645537222e+37 148142.0367 148142.01171875 254 96100 6342450941 9023372036854775805 100141183460469231731687303715884105725 1477.38 1477.38 1477.38 2 1 2 2 2 2 2 2 2 2 2 1 2 2 0 127 32000 2047483647 9023372036854775807 100141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-01 2024-01-01 12:34:56 [1,0,1] 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 0 None 32100 2047483647 9023372036854775807 100141183460469231731687303715884105727 123450.6789 123450.67 1230.46 1230.46 1230.46 ExampleVarcharData 2024-01-01 2024-01-01 13:34:56 {"key": "value"} 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 {"key": "value"} 2743182450.0 2743182546.445313 0.2222222222222222 0.0 2222.222222222222 2222222222222222.0 8.888888888888888e+33 1.0888888888888889e+75 49380.6789 49380.670572916664 127.0 32033.333333333332 2114150313.6666667 9.156705370188109e+18 1.468078501271359e+38 492.46000000 492.46000000 492.46000000 1 127 32000 2147483647 9223372036854775807 170141183460469231731687303715884105727 12345.6789 12345.67 123.46 123.46 123.46 ExampleVarcharData 2024-01-02 2024-01-01 12:34:56 [10000000000,-10000000000,9223372036854775807] {"key1":"value1","key2":"value2"} {"col1":null} {"key": "value"} MyVarbinaryData 2743182450.0 2743182546.445313 0.2222222222222222 0.0 2222.222222222222 2222222222222222.0 8.888888888888888e+33 1.0888888888888889e+75 52375.399282487575 52375.400203199526 0.4714045207910317 0.0 47.14045207910317 47140452.079103164 9.428090415820634e+16 3.299831645537222e+37 4114773675.0 4114773819.6679697 0.3333333333333333 0.0 3333.333333333333 3333333333333333.0 1.333333333333333e+34 1.6333333333333332e+75 2024-01-02 2024-01-01 12:34:56 12345.6789 0.9999999999999999 1.0000000000000002 1.0 nan 1.0 0.9999999999999998 1.0000000000000002 1.0 135796.3578 135796.341796875 1 127 64100 4194967294 -200000000000000002 -70000000000000000000000000000000000002 1353.92 1353.92 1353.92 4114773675.0 4114773819.6679697 0.3333333333333333 0.0 3333.333333333333 3333333333333333.0 1.333333333333333e+34 1.6333333333333332e+75 1 2 2 2 2743182450.0 2743182546.445313 0.2222222222222222 0.0 2222.222222222222 2222222222222222.0 8.888888888888888e+33 1.0888888888888889e+75 +-- !result \ No newline at end of file diff --git a/test/sql/test_max_min_by_not_filter_nulls_with_nulls/R/test_max_min_by_not_filter_nulls_with_nulls b/test/sql/test_max_min_by_not_filter_nulls_with_nulls/R/test_max_min_by_not_filter_nulls_with_nulls new file mode 100644 index 00000000000000..9b00965d96158b --- /dev/null +++ b/test/sql/test_max_min_by_not_filter_nulls_with_nulls/R/test_max_min_by_not_filter_nulls_with_nulls @@ -0,0 +1,355 @@ +-- name: test_max_min_by_not_filter_nulls_with_nulls +DROP TABLE if exists t0; +-- result: +-- !result +CREATE TABLE if not exists t0 +( +c0 INT NULL, +c1 INT NULL, +c2 DECIMAL128(7, 2) NULL, +c3 VARCHAR(10) NULL +) ENGINE=OLAP +DUPLICATE KEY(`c0`, `c1`, `c2` ) +COMMENT "OLAP" +DISTRIBUTED BY HASH(`c0`, `c1` ) BUCKETS 32 +PROPERTIES( +"replication_num" = "1", +"in_memory" = "false", +"storage_format" = "default" +); +-- result: +-- !result +INSERT INTO t0 +(c0, c1, c2, c3) +VALUES +('4', '8', NULL, NULL), +(NULL, NULL, '55157.78', NULL), +('9', '6', NULL, 'foo'), +('8', NULL, '8.20', 'foobar'), +('7', NULL, NULL, NULL), +('2', NULL, '55157.78', NULL), +('6', NULL, '29660.05', 'foo'), +('4', NULL, NULL, NULL), +(NULL, NULL, NULL, 'foobar'), +(NULL, '6', NULL, NULL); +-- result: +-- !result +SET new_planner_agg_stage=1; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=2; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=2; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=3; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=3; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=4; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result +SET new_planner_agg_stage=4; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-974664585 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +1687028600 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-6489867636 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +18698534208 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-9870420830 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +7689318910 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-3785801 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +3369616053 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-19258865877 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +25406211869 +-- !result \ No newline at end of file diff --git a/test/sql/test_max_min_by_not_filter_nulls_with_nulls/T/test_max_min_by_not_filter_nulls_with_nulls b/test/sql/test_max_min_by_not_filter_nulls_with_nulls/T/test_max_min_by_not_filter_nulls_with_nulls new file mode 100644 index 00000000000000..a42d82a4a8b225 --- /dev/null +++ b/test/sql/test_max_min_by_not_filter_nulls_with_nulls/T/test_max_min_by_not_filter_nulls_with_nulls @@ -0,0 +1,114 @@ +-- name: test_max_min_by_not_filter_nulls_with_nulls + DROP TABLE if exists t0; + + CREATE TABLE if not exists t0 + ( + c0 INT NULL, + c1 INT NULL, + c2 DECIMAL128(7, 2) NULL, + c3 VARCHAR(10) NULL + ) ENGINE=OLAP + DUPLICATE KEY(`c0`, `c1`, `c2` ) + COMMENT "OLAP" + DISTRIBUTED BY HASH(`c0`, `c1` ) BUCKETS 32 + PROPERTIES( + "replication_num" = "1", + "in_memory" = "false", + "storage_format" = "default" + ); +INSERT INTO t0 +(c0, c1, c2, c3) +VALUES +('4', '8', NULL, NULL), +(NULL, NULL, '55157.78', NULL), +('9', '6', NULL, 'foo'), +('8', NULL, '8.20', 'foobar'), +('7', NULL, NULL, NULL), +('2', NULL, '55157.78', NULL), +('6', NULL, '29660.05', 'foo'), +('4', NULL, NULL, NULL), +(NULL, NULL, NULL, 'foobar'), +(NULL, '6', NULL, NULL); +SET new_planner_agg_stage=1; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=2; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=2; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=3; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=3; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=4; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=4; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; diff --git a/test/sql/test_max_min_by_not_filter_nulls_without_nulls/R/test_max_min_by_not_filter_nulls_without_nulls b/test/sql/test_max_min_by_not_filter_nulls_without_nulls/R/test_max_min_by_not_filter_nulls_without_nulls new file mode 100644 index 00000000000000..563e00106422ef --- /dev/null +++ b/test/sql/test_max_min_by_not_filter_nulls_without_nulls/R/test_max_min_by_not_filter_nulls_without_nulls @@ -0,0 +1,355 @@ +-- name: test_max_min_by_not_filter_nulls_without_nulls +DROP TABLE if exists t0; +-- result: +-- !result +CREATE TABLE if not exists t0 +( +c0 INT NOT NULL, +c1 INT NOT NULL, +c2 DECIMAL128(7, 2) NOT NULL, +c3 VARCHAR(10) NOT NULL +) ENGINE=OLAP +DUPLICATE KEY(`c0`, `c1`, `c2` ) +COMMENT "OLAP" +DISTRIBUTED BY HASH(`c0`, `c1` ) BUCKETS 32 +PROPERTIES( +"replication_num" = "1", +"in_memory" = "false", +"storage_format" = "default" +); +-- result: +-- !result +INSERT INTO t0 +(c0, c1, c2, c3) +VALUES +('9', '8', '-23765.20', 'foo1'), +('7', '1', '92426.92', 'foo6'), +('2', '1', '-96540.02', 'foo10'), +('7', '8', '-96540.02', 'foo1'), +('5', '3', '70459.31', 'foo10'), +('6', '1', '66032.48', 'foo9'), +('4', '2', '-99763.42', 'foo2'), +('1', '2', '92426.92', 'foo1'), +('8', '9', '73215.84', 'foo10'), +('5', '3', '45826.02', 'foo6'); +-- result: +-- !result +SET new_planner_agg_stage=1; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=2; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=2; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=3; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=3; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=4; +-- result: +-- !result +SET streaming_preaggregation_mode = force_preaggregation; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result +SET new_planner_agg_stage=4; +-- result: +-- !result +SET streaming_preaggregation_mode = force_streaming; +-- result: +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1457532312 +-- !result +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +372293362 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-4236324495 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-4391782332 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +-- result: +-11963166337 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +-- result: +-15649881085 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +-- result: +-1321142242 +-- !result +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +-- result: +-1190265313 +-- !result +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +-- result: +-30649812568 +-- !result +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +-- result: +21366473853 +-- !result \ No newline at end of file diff --git a/test/sql/test_max_min_by_not_filter_nulls_without_nulls/T/test_max_min_by_not_filter_nulls_without_nulls b/test/sql/test_max_min_by_not_filter_nulls_without_nulls/T/test_max_min_by_not_filter_nulls_without_nulls new file mode 100644 index 00000000000000..351f9af5abb33c --- /dev/null +++ b/test/sql/test_max_min_by_not_filter_nulls_without_nulls/T/test_max_min_by_not_filter_nulls_without_nulls @@ -0,0 +1,114 @@ +-- name: test_max_min_by_not_filter_nulls_without_nulls + DROP TABLE if exists t0; + + CREATE TABLE if not exists t0 + ( + c0 INT NOT NULL, + c1 INT NOT NULL, + c2 DECIMAL128(7, 2) NOT NULL, + c3 VARCHAR(10) NOT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`c0`, `c1`, `c2` ) + COMMENT "OLAP" + DISTRIBUTED BY HASH(`c0`, `c1` ) BUCKETS 32 + PROPERTIES( + "replication_num" = "1", + "in_memory" = "false", + "storage_format" = "default" + ); +INSERT INTO t0 +(c0, c1, c2, c3) +VALUES +('9', '8', '-23765.20', 'foo1'), +('7', '1', '92426.92', 'foo6'), +('2', '1', '-96540.02', 'foo10'), +('7', '8', '-96540.02', 'foo1'), +('5', '3', '70459.31', 'foo10'), +('6', '1', '66032.48', 'foo9'), +('4', '2', '-99763.42', 'foo2'), +('1', '2', '92426.92', 'foo1'), +('8', '9', '73215.84', 'foo10'), +('5', '3', '45826.02', 'foo6'); +SET new_planner_agg_stage=1; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=2; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=2; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=3; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=3; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=4; +SET streaming_preaggregation_mode = force_preaggregation; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t; +SET new_planner_agg_stage=4; +SET streaming_preaggregation_mode = force_streaming; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,(count(DISTINCT c3)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0 group by c2) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,(count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0 group by c0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c2)) as __c_0 ,max_by(c0,coalesce(c0,0)*1000+c1) a,min_by(c0,coalesce(c0,0)*1000+c1) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(__c_0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select (count(DISTINCT c1)) as __c_0 ,max_by(c2,concat(coalesce(c2,'NULL'),c3)) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c2,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c2,max_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) a,min_by(c0,coalesce(c0,0)*1000+c1) over(partition by c2) b from t0) as t; +select (sum(murmur_hash3_32(ifnull(c0,0))+murmur_hash3_32(ifnull(a,0))+murmur_hash3_32(ifnull(b,0)))) as fingerprint from (select c0,max_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) a,min_by(c2,concat(coalesce(c2,'NULL'),c3)) over(partition by c1) b from t0) as t;