remove useless codes

This commit is contained in:
taiyang-li 2024-08-04 17:04:04 +08:00
parent 00a9c30363
commit 122c9794a6

View File

@ -130,77 +130,6 @@ public:
ColumnsWithTypeAndName map_args{{key_array, key_array_type, ""}, {value_array, value_array_type, ""}}; ColumnsWithTypeAndName map_args{{key_array, key_array_type, ""}, {value_array, value_array_type, ""}};
return function_map_from_arrays->build(map_args)->execute(map_args, result_type, input_rows_count); return function_map_from_arrays->build(map_args)->execute(map_args, result_type, input_rows_count);
} }
/*
ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override
{
size_t num_elements = arguments.size();
if (num_elements == 0)
return result_type->createColumnConstWithDefaultValue(input_rows_count);
const auto & result_type_map = static_cast<const DataTypeMap &>(*result_type);
const DataTypePtr & key_type = result_type_map.getKeyType();
const DataTypePtr & value_type = result_type_map.getValueType();
Columns columns_holder(num_elements);
ColumnRawPtrs column_ptrs(num_elements);
for (size_t i = 0; i < num_elements; ++i)
{
const auto & arg = arguments[i];
const auto to_type = i % 2 == 0 ? key_type : value_type;
ColumnPtr preprocessed_column = castColumn(arg, to_type);
preprocessed_column = preprocessed_column->convertToFullColumnIfConst();
columns_holder[i] = std::move(preprocessed_column);
column_ptrs[i] = columns_holder[i].get();
}
/// Create and fill the result map.
MutableColumnPtr keys_data = key_type->createColumn();
MutableColumnPtr values_data = value_type->createColumn();
MutableColumnPtr offsets = DataTypeUInt64().createColumn();
size_t total_elements = input_rows_count * num_elements / 2;
keys_data->reserve(total_elements);
values_data->reserve(total_elements);
auto & offsets_data = assert_cast<ColumnUInt64 &>(*offsets).getData();
offsets_data.resize_exact(input_rows_count);
IColumn::Offset current_offset = 0;
if (num_elements == 2)
{
for (size_t i = 0; i < input_rows_count; ++i)
{
++current_offset;
offsets_data[i] = current_offset;
}
keys_data->insertRangeFrom(*column_ptrs[0], 0, input_rows_count);
values_data->insertRangeFrom(*column_ptrs[1], 0, input_rows_count);
}
else
{
for (size_t i = 0; i < input_rows_count; ++i)
{
for (size_t j = 0; j < num_elements; j += 2)
{
keys_data->insertFrom(*column_ptrs[j], i);
values_data->insertFrom(*column_ptrs[j + 1], i);
}
current_offset += num_elements / 2;
offsets_data[i] = current_offset;
}
}
auto nested_column = ColumnArray::create(
ColumnTuple::create(Columns{std::move(keys_data), std::move(values_data)}),
std::move(offsets));
return ColumnMap::create(nested_column);
}
*/
private: private:
ContextPtr context; ContextPtr context;