mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
More checking [#METR-12588].
This commit is contained in:
parent
8f68bd3bb2
commit
8b9cf82c6c
@ -76,6 +76,24 @@ MergeTreeData::MergeTreeData(
|
||||
"Date column (" + date_column_name + ") does not exist in table declaration.",
|
||||
ErrorCodes::NO_SUCH_COLUMN_IN_TABLE};
|
||||
|
||||
/// Проверяем, что столбец sign_column, если нужен, существует, и имеет тип Int8.
|
||||
if (mode == Collapsing)
|
||||
{
|
||||
if (sign_column.empty())
|
||||
throw Exception("Logical error: Sign column for storage CollapsingMergeTree is empty", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
for (const auto & column : columns)
|
||||
{
|
||||
if (column.name == sign_column)
|
||||
{
|
||||
if (!typeid_cast<const DataTypeInt8 *>(column.type.get()))
|
||||
throw Exception("Sign column (" + sign_column + ") for storage CollapsingMergeTree must have type Int8."
|
||||
" Provided column of type " + column.type->getName() + ".", ErrorCodes::BAD_TYPE_OF_FIELD);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Если заданы columns_to_sum, проверяем, что такие столбцы существуют.
|
||||
if (!columns_to_sum.empty())
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user