Repository: typeorm/typeorm
File: src/driver/mysql/MysqlDriver.ts (TypeScript)

Code before:
        "national varchar": { length: 255 },
        char: { length: 1 },
        binary: { length: 1 },
        varbinary: { length: 255 },
        decimal: { precision: 10, scale: 0 },
        dec: { precision: 10, scale: 0 },
        numeric: { precision: 10, scale: 0 },
        fixed: { precision: 10, scale: 0 },
        float: { precision: 12 },
        double: { precision: 22 },
        time: { precision: 0 },
        datetime: { precision: 0 },
        timestamp: { precision: 0 },
        bit: { width: 1 },
        int: { width: 11 },
        integer: { width: 11 },
        tinyint: { width: 4 },
        smallint: { width: 6 },
        mediumint: { width: 9 },
        bigint: { width: 20 },
    }

    /**
     * Managing version specific data types
     */
    columnTypeVersionSupportMap = {
        uuid: "varchar",
        inet4: "varchar",
        inet6: "varchar",
    }

    /**
     * Max length allowed by MySQL for aliases.
     * @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
     */
    maxAliasLength = 63

    cteCapabilities: CteCapabilities = {
        enabled: false,
        requiresRecursiveHint: true,
    }

    /**
     * Supported returning types
     */
    private readonly _isReturningSqlSupported: Record<ReturningType, boolean> =
        {
            delete: false,
            insert: false,
            update: false,
        }

Review comment (suggestion):
we don't want to have such feature. If user uses Mariadb version which support all these new types - he can use it. If no - he can't. He needs to put varchar or any other type he thinks is appropriate by himself. 

Code after:
        "national varchar": { length: 255 },
        char: { length: 1 },
        binary: { length: 1 },
        varbinary: { length: 255 },
        decimal: { precision: 10, scale: 0 },
        dec: { precision: 10, scale: 0 },
        numeric: { precision: 10, scale: 0 },
        fixed: { precision: 10, scale: 0 },
        float: { precision: 12 },
        double: { precision: 22 },
        time: { precision: 0 },
        datetime: { precision: 0 },
        timestamp: { precision: 0 },
        bit: { width: 1 },
        int: { width: 11 },
        integer: { width: 11 },
        tinyint: { width: 4 },
        smallint: { width: 6 },
        mediumint: { width: 9 },
        bigint: { width: 20 },
    }

    /**
     * Max length allowed by MySQL for aliases.
     * @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
     */
    maxAliasLength = 63

    cteCapabilities: CteCapabilities = {
        enabled: false,
        requiresRecursiveHint: true,
    }

    /**
     * Supported returning types
     */
    private readonly _isReturningSqlSupported: Record<ReturningType, boolean> =
        {
            delete: false,
            insert: false,
            update: false,
        }

    /** MariaDB supports uuid type for version 10.7.0 and up */
    private uuidColumnTypeSuported = false

    // -------------------------------------------------------------------------
    // Constructor
    // -------------------------------------------------------------------------

    constructor(connection: DataSource) {