`CREATE TABLE test (x Int32, y Int32, s String, PRIMARY KEY (x, y)) ENGINE = MergeTree;`
should be equivalent to
`CREATE TABLE test (x Int32, y Int32, s String) ENGINE = MergeTree PRIMARY KEY (x, y);`
*/
        if (index_granularity_bytes > 0 && index_granularity_bytes < min_index_granularity_bytes)
        {
            throw Exception(
                "index_granularity_bytes: " + std::to_string(index_granularity_bytes)
                    + " is lesser than specified min_index_granularity_bytes: " + std::to_string(min_index_granularity_bytes),
                ErrorCodes::BAD_ARGUMENTS);
        }
    }
    else
    {
        
        
        if (!tryGetIdentifierNameInto(engine_args[arg_num], date_column_name))
            throw Exception(
                "Date column name must be an unquoted string" + getMergeTreeVerboseHelp(is_extended_storage_def),
                ErrorCodes::BAD_ARGUMENTS);
        auto partition_by_ast = makeASTFunction("toYYYYMM", std::make_shared<ASTIdentifier>(date_column_name));
        metadata.partition_key = KeyDescription::getKeyFromAST(partition_by_ast, metadata.columns, args.context);
        ++arg_num;
        
        if (arg_cnt - arg_num == 3)
        {
            metadata.sampling_key = KeyDescription::getKeyFromAST(engine_args[arg_num], metadata.columns, args.context);
            ++arg_num;
        }