**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`.

Block input_block = InterpreterSelectWithUnionQuery(
                create.select->clone(), getContext(), SelectQueryOptions().analyze()).getSampleBlock();
            Block output_block = to_table->getInMemoryMetadataPtr()->getSampleBlock();
            ColumnsWithTypeAndName input_columns;
            ColumnsWithTypeAndName output_columns;
            for (const auto & input_column : input_block)
            {
                if (const auto * output_column = output_block.findByName(input_column.name))
                {
                    input_columns.push_back(input_column.cloneEmpty());
                    output_columns.push_back(output_column->cloneEmpty());
                }
            }
            ActionsDAG::makeConvertingActions(
                input_columns,
                output_columns,
                ActionsDAG::MatchColumnsMode::Position
            );
        }
    }
    DatabasePtr database;
    bool need_add_to_database = !create.temporary;
    if (need_add_to_database)
        database = DatabaseCatalog::instance().getDatabase(database_name);
    if (need_add_to_database && database->shouldReplicateQuery(getContext(), query_ptr))
    {
        chassert(!ddl_guard);
        auto guard = DatabaseCatalog::instance().getDDLGuard(create.getDatabase(), create.getTable());
        assertOrSetUUID(create, database);
        guard->releaseTableLock();