This issue happens on production of one user that enabled Sentry:

![Screenshot_20210303_002028](https://user-images.githubusercontent.com/18581488/109716945-7f9a1200-7bb6-11eb-8cf4-1080ad535d18.png)

Build id: 49938CCB63EE2A4E16CF0528307EE15F08469219.
if (create.if_not_exists)
                return false;
            else if (create.replace_view)
            {
                
                auto drop_ast = std::make_shared<ASTDropQuery>();
                drop_ast->database = create.database;
                drop_ast->table = create.table;
                drop_ast->no_ddl_lock = true;
                Context drop_context = context;
                InterpreterDropQuery interpreter(drop_ast, drop_context);
                interpreter.execute();
            }
            else
                throw Exception(ErrorCodes::TABLE_ALREADY_EXISTS, "Table {}.{} already exists.", backQuoteIfNeed(create.database), backQuoteIfNeed(create.table));
        }
        data_path = database->getTableDataPath(create);
        if (!create.attach && !data_path.empty() && fs::exists(fs::path{context.getPath()} / data_path))
            throw Exception(ErrorCodes::TABLE_ALREADY_EXISTS, "Directory for table data {} already exists", String(data_path));
    }
    else
    {
        if (create.if_not_exists && context.tryResolveStorageID({"", create.table}, Context::ResolveExternal))
            return false;
        String temporary_table_name = create.table;
        auto temporary_table = TemporaryTableHolder(context, properties.columns, properties.constraints, query_ptr);
        context.getSessionContext().addExternalTable(temporary_table_name, std::move(temporary_table));
        return true;
    }
    bool from_path = create.attach_from_path.has_value();