ref #9436
Currently EPHEMERAL column requires an explicit default value provided on CREATE TABLE - we can allow implicit default there

const InterpreterCreateQuery::TableProperties & properties)
{
    
    ContextPtr current_context = getContext();
    ContextMutablePtr create_context = Context::createCopy(current_context);
    create_context->setQueryContext(std::const_pointer_cast<Context>(current_context));
    auto make_drop_context = [&](bool on_error) -> ContextMutablePtr
    {
        ContextMutablePtr drop_context = Context::createCopy(current_context);
        drop_context->makeQueryContext();
        if (on_error)
            return drop_context;
        if (auto txn = current_context->getZooKeeperMetadataTransaction())
        {
            
            
            drop_context->resetZooKeeperMetadataTransaction();
            auto drop_txn = std::make_shared<ZooKeeperMetadataTransaction>(txn->getZooKeeper(), txn->getDatabaseZooKeeperPath(),
                                                                           txn->isInitialQuery(), txn->getTaskZooKeeperPath());
            drop_context->initZooKeeperMetadataTransaction(drop_txn);
        }
        return drop_context;
    };
    auto ast_drop = std::make_shared<ASTDropQuery>();
    String table_to_replace_name = create.getTable();
    {
        auto database = DatabaseCatalog::instance().getDatabase(create.getDatabase());
        if (database->getUUID() == UUIDHelpers::Nil)