**Describe the bug**
```
clickhouse-client --max_block_size 123 -n < 01130_in_memory_parts_nested.sql
```

Outputs an array with huge number of zeros that is definitely incorrect.
if (res_columns[i] == nullptr)
                res_columns[i] = type->createColumn();
            auto mutable_column = res_columns[i]->assumeMutable();
            auto & res_offstes = assert_cast<ColumnArray &>(*mutable_column).getOffsets();
            for (size_t row = 0; row < rows_to_read; ++row)
                res_offstes.push_back(source_offsets[total_rows_read + row]);
            res_columns[i] = std::move(mutable_column);
        }
        else if (part_in_memory->block.has(name))
        {
            const auto & block_column = part_in_memory->block.getByName(name).column;
            if (rows_to_read == part_rows)
            {
                res_columns[i] = block_column;
            }
            else
            {
                if (res_columns[i] == nullptr)
                    res_columns[i] = type->createColumn();
                auto mutable_column = res_columns[i]->assumeMutable();
                mutable_column->insertRangeFrom(*block_column, total_rows_read, rows_to_read);
                res_columns[i] = std::move(mutable_column);
            }
        }
    }
    total_rows_read += rows_to_read;
    return rows_to_read;
}
}