Don't use default implementation for LC columns in Scalar functions

This commit is contained in:
Arthur Passos 2022-08-02 09:17:53 -03:00
parent d1de8d0dfb
commit e9b124b4bc
2 changed files with 5 additions and 2 deletions

View File

@ -285,8 +285,6 @@ ColumnPtr IExecutableFunction::executeWithoutSparseColumns(const ColumnsWithType
? res->cloneResized(1)->convertToFullColumnIfConst()
: res;
keys = keys->convertToFullColumnIfLowCardinality();
auto res_mut_dictionary = DataTypeLowCardinality::createColumnUnique(*res_low_cardinality_type->getDictionaryType());
ColumnPtr res_indexes = res_mut_dictionary->uniqueInsertRangeFrom(*keys, 0, keys->size());
ColumnUniquePtr res_dictionary = std::move(res_mut_dictionary);

View File

@ -42,6 +42,11 @@ public:
return 1;
}
bool useDefaultImplementationForLowCardinalityColumns() const override
{
return false;
}
bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return false; }
DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override