#27685
{
    if (dst_sample->lowCardinality())
    {
        MutableColumnPtr lc = dst_sample->cloneEmpty();
        typeid_cast<ColumnLowCardinality &>(*lc).insertRangeFromFullColumn(*column, 0, column->size());
        return lc;
    }
    return column->convertToFullColumnIfLowCardinality();
}
struct LowcardAndNull
{
    bool is_lowcard;
    bool is_nullable;
};
LowcardAndNull getLowcardAndNullability(const ColumnPtr & col)