Not remove metadata directory when attach database fails

This commit is contained in:
zhang2014 2020-04-23 00:03:58 +08:00
parent 7065a8ba9c
commit a622208284

View File

@ -36,16 +36,18 @@ namespace ErrorCodes
DatabasePtr DatabaseFactory::get(
const String & database_name, const String & metadata_path, const ASTStorage * engine_define, Context & context)
{
bool create = false;
try
{
Poco::File(metadata_path).createDirectory();
create = Poco::File(metadata_path).createDirectory();
return getImpl(database_name, metadata_path, engine_define, context);
}
catch (...)
{
Poco::File metadata_dir(metadata_path);
if (metadata_dir.exists())
if (create && metadata_dir.exists())
metadata_dir.remove(true);
throw;