AST-based query fuzzer should randomly modify data types in CREATE TABLE queries, mostly by wrapping in Nullable, Array and LowCardinality.
ErrorCodes::BAD_ARGUMENTS);
        --arg_cnt;
        
        
        merging_param_key_arg = merging_params.version_column;
    }
    String date_column_name;
    StorageInMemoryMetadata metadata;
    ColumnsDescription columns;
    if (args.columns.empty() && replicated)
        columns = getColumnsDescriptionFromZookeeper(zookeeper_path, args.getContext());
    else
        columns = args.columns;
    metadata.setColumns(columns);
    metadata.setComment(args.comment);
    std::unique_ptr<MergeTreeSettings> storage_settings;
    if (replicated)
        storage_settings = std::make_unique<MergeTreeSettings>(args.getContext()->getReplicatedMergeTreeSettings());
    else
        storage_settings = std::make_unique<MergeTreeSettings>(args.getContext()->getMergeTreeSettings());
    if (is_extended_storage_def)
    {
        ASTPtr partition_by_key;
        if (args.storage_def->partition_by)
            partition_by_key = args.storage_def->partition_by->ptr();
        
        
        
        metadata.partition_key = KeyDescription::getKeyFromAST(partition_by_key, metadata.columns, args.getContext());