```
milovidov-desktop :) CREATE TABLE perf_lc_num(　        num UInt8,　        arr Array(LowCardinality(Int64)) default [num]　        ) ENGINE = TinyLog

CREATE TABLE perf_lc_num
(
    `num` UInt8,
    `arr` Array(LowCardinality(Int64)) DEFAULT [num]
)
ENGINE = TinyLog

Query id: e95f9a71-5795-4dea-8d80-4729fc8016b9

Ok.

0 rows in set. Elapsed: 0.002 sec. 

milovidov-desktop :) INSERT INTO perf_lc_num (num)
:-]         SELECT toUInt8(number)
:-]         FROM numbers(100000000)

INSERT INTO perf_lc_num (num) SELECT toUInt8(number)
FROM numbers(100000000)

Query id: 1101fd75-a545-4809-acb5-8afa2fae80c0


Received exception from server (version 20.13.1):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Got empty stream for DataTypeLowCardinality keys.: While executing SinkToOutputStream. 

0 rows in set. Elapsed: 0.045 sec. 

milovidov-desktop :) INSERT INTO perf_lc_num (num)　        SELECT toUInt8(number)　        FROM numbers(100000000)

INSERT INTO perf_lc_num (num) SELECT toUInt8(number)
FROM numbers(100000000)

Query id: 0ad8532a-5c6e-4590-84cd-7e00759d152d


Received exception from server (version 20.13.1):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Got empty stream for DataTypeLowCardinality keys.: While executing SinkToOutputStream. 

0 rows in set. Elapsed: 0.033 sec.
```

protected:
    Chunk generate() override;
private:
    size_t block_size;
    NamesAndTypesList columns;
    StorageTinyLog & storage;
    bool is_finished = false;
    size_t max_read_buffer_size;
    FileChecker::Map file_sizes;
    struct Stream
    {
        Stream(const DiskPtr & disk, const String & data_path, size_t max_read_buffer_size_, size_t file_size)
            : plain(file_size ? disk->readFile(data_path, std::min(max_read_buffer_size_, file_size)) : std::make_unique<ReadBuffer>(nullptr, 0)),
            limited(std::make_unique<LimitReadBuffer>(*plain, file_size, false)),
            compressed(*limited)
        {
        }
        std::unique_ptr<ReadBuffer> plain;
        std::unique_ptr<ReadBuffer> limited;
        CompressedReadBuffer compressed;
    };
    using FileStreams = std::map<String, std::unique_ptr<Stream>>;
    FileStreams streams;
    using DeserializeState = IDataType::DeserializeBinaryBulkStatePtr;
    using DeserializeStates = std::map<String, DeserializeState>;
    DeserializeStates deserialize_states;
    void readData(const String & name, const IDataType & type, IColumn & column, UInt64 limit);
};
Chunk TinyLogSource::generate()