**Use case**

If FixedString is used with more than 256 bytes in size, it is suspicious and most likely indicates misusage.
Forbid this by default and add a setting to override it; ATTACH queries should allow creating tables nevertheless.

See also: `allow_suspicious_low_cardinality_types`.

{
    prepareOnClusterQuery(create, getContext(), create.cluster);
    DDLQueryOnClusterParams params;
    params.access_to_check = getRequiredAccess();
    return executeDDLQueryOnCluster(query_ptr, getContext(), params);
}
BlockIO InterpreterCreateQuery::execute()
{
    FunctionNameNormalizer().visit(query_ptr.get());
    auto & create = query_ptr->as<ASTCreateQuery &>();
    bool is_create_database = create.database && !create.table;
    if (!create.cluster.empty() && !maybeRemoveOnCluster(query_ptr, getContext()))
    {
        auto on_cluster_version = getContext()->getSettingsRef().distributed_ddl_entry_format_version;
        if (is_create_database || on_cluster_version < DDLLogEntry::NORMALIZE_CREATE_ON_INITIATOR_VERSION)
            return executeQueryOnCluster(create);
    }
    getContext()->checkAccess(getRequiredAccess());
    ASTQueryWithOutput::resetOutputASTIfExist(create);
    
    if (is_create_database)
        return createDatabase(create);
    else
        return createTable(create);
}
AccessRightsElements InterpreterCreateQuery::getRequiredAccess() const