mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 16:12:01 +00:00
fixed merge of nested arrays (escaped filename issue) [#CONV-7967]
This commit is contained in:
parent
a5c799d7a3
commit
7b01659e44
@ -122,8 +122,10 @@ private:
|
|||||||
/// Для массивов используются отдельные потоки для размеров.
|
/// Для массивов используются отдельные потоки для размеров.
|
||||||
if (const DataTypeArray * type_arr = dynamic_cast<const DataTypeArray *>(&type))
|
if (const DataTypeArray * type_arr = dynamic_cast<const DataTypeArray *>(&type))
|
||||||
{
|
{
|
||||||
String size_name = name + ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
String size_name = DataTypeNested::extractNestedTableName(name)
|
||||||
String escaped_size_name = escaped_column_name + ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
+ ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
||||||
|
String escaped_size_name = escapeForFileName(DataTypeNested::extractNestedTableName(name))
|
||||||
|
+ ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
||||||
|
|
||||||
column_streams[size_name] = new ColumnStream(
|
column_streams[size_name] = new ColumnStream(
|
||||||
part_tmp_path + escaped_size_name + ".bin",
|
part_tmp_path + escaped_size_name + ".bin",
|
||||||
@ -142,7 +144,7 @@ private:
|
|||||||
|
|
||||||
const NamesAndTypesList & columns = *type_nested->getNestedTypesList();
|
const NamesAndTypesList & columns = *type_nested->getNestedTypesList();
|
||||||
for (NamesAndTypesList::const_iterator it = columns.begin(); it != columns.end(); ++it)
|
for (NamesAndTypesList::const_iterator it = columns.begin(); it != columns.end(); ++it)
|
||||||
addStream(name + "." + it->first, *it->second, level + 1);
|
addStream(DataTypeNested::concatenateNestedName(name, it->first), *it->second, level + 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
column_streams[name] = new ColumnStream(
|
column_streams[name] = new ColumnStream(
|
||||||
@ -159,7 +161,8 @@ private:
|
|||||||
/// Для массивов требуется сначала сериализовать размеры, а потом значения.
|
/// Для массивов требуется сначала сериализовать размеры, а потом значения.
|
||||||
if (const DataTypeArray * type_arr = dynamic_cast<const DataTypeArray *>(&type))
|
if (const DataTypeArray * type_arr = dynamic_cast<const DataTypeArray *>(&type))
|
||||||
{
|
{
|
||||||
String size_name = name + ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
String size_name = DataTypeNested::extractNestedTableName(name)
|
||||||
|
+ ARRAY_SIZES_COLUMN_NAME_SUFFIX + toString(level);
|
||||||
|
|
||||||
ColumnStream & stream = *column_streams[size_name];
|
ColumnStream & stream = *column_streams[size_name];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user