mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
Merge
This commit is contained in:
parent
626a49cb56
commit
c477f5f152
@ -115,7 +115,15 @@ void InterpreterRenameQuery::execute()
|
||||
|
||||
/// Уведомляем таблицу о том, что она переименовывается. Если таблица не поддерживает переименование - кинется исключение.
|
||||
StoragePtr table = context.getTable(elem.from_database_name, elem.from_table_name);
|
||||
table->rename(path + "data/" + elem.to_database_name_escaped + "/", elem.to_database_name, elem.to_table_name);
|
||||
try
|
||||
{
|
||||
table->rename(path + "data/" + elem.to_database_name_escaped + "/", elem.to_database_name,
|
||||
elem.to_table_name);
|
||||
}
|
||||
catch (const Poco::Exception & e)
|
||||
{
|
||||
throw Exception{e};
|
||||
}
|
||||
|
||||
/// Пишем новый файл с метаданными.
|
||||
{
|
||||
|
@ -362,6 +362,12 @@ void MergeTreeData::setPath(const String & new_full_path, bool move_data)
|
||||
{
|
||||
if (move_data)
|
||||
{
|
||||
if (Poco::File{new_full_path}.exists())
|
||||
throw Exception{
|
||||
"Target path already exists: " + new_full_path,
|
||||
/// @todo existing target can also be a file, not directory
|
||||
ErrorCodes::DIRECTORY_ALREADY_EXISTS
|
||||
};
|
||||
Poco::File(full_path).renameTo(new_full_path);
|
||||
/// Если данные перемещать не нужно, значит их переместил кто-то другой. Расчитываем, что он еще и сбросил кеши.
|
||||
context.resetCaches();
|
||||
|
Loading…
Reference in New Issue
Block a user