Compatible with LowCardinality type data write

This commit is contained in:
root 2018-11-28 12:51:04 +08:00
parent c19199e23e
commit 94164ef250

View File

@ -408,7 +408,10 @@ IColumn::Selector DistributedBlockOutputStream::createSelector(const Block & sou
#define CREATE_FOR_TYPE(TYPE) \
if (typeid_cast<const DataType ## TYPE *>(key_column.type.get())) \
return createBlockSelector<TYPE>(*key_column.column, slot_to_shard);
return createBlockSelector<TYPE>(*key_column.column, slot_to_shard); \
else if(auto * type_low_cardinality = typeid_cast<const DataTypeLowCardinality *>(key_column.type.get())) \
if (typeid_cast<const DataType ## TYPE *>(type_low_cardinality->getDictionaryType().get())) \
return createBlockSelector<TYPE>(*key_column.column->convertToFullColumnIfLowCardinality(), slot_to_shard);
CREATE_FOR_TYPE(UInt8)
CREATE_FOR_TYPE(UInt16)