Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
6.1.1
-
None
-
2021-9
Description
Consider the example:
create table c1(i int)engine=columnstore;
|
insert into c1 values (42);
|
 |
MariaDB [test]> select * from information_schema.columnstore_files;
|
+-----------+------------+--------------+--------------------------------------------------------------------------------+-----------+----------------------+
|
| OBJECT_ID | SEGMENT_ID | PARTITION_ID | FILENAME | FILE_SIZE | COMPRESSED_DATA_SIZE |
|
+-----------+------------+--------------+--------------------------------------------------------------------------------+-----------+----------------------+
|
| 3001 | 0 | 0 | /var/lib/columnstore/data1/000.dir/000.dir/011.dir/185.dir/000.dir/FILE000.cdf | NULL | NULL |
|
+-----------+------------+--------------+--------------------------------------------------------------------------------+-----------+----------------------+
|
get_file_sizes() function pushes char[XXX] into ByteStream. BS incorrectly picks the operator>>() method for the char[XXX]. This causes WE to return an error deserializing from BS. get_file_sizes() logic doesn't take WE return code into account and siliently returns success setting FILE_SIZE and COMPRESSED_DATA_SIZE to 0.