prestodb/presto · error · PrestoException

NOT_SUPPORTED

NOT_SUPPORTED

Error message

Unsupported column type: %s

What it means

MySQL connector DDL error in toSqlType: a column type being written for CREATE TABLE has no MySQL mapping — notably TIME WITH TIME ZONE and TIMESTAMP WITH TIME ZONE are unsupported, and the %s names the offending Presto type. Fired when creating or altering a MySQL table with such a column.

Source

Thrown at presto-mysql/src/main/java/com/facebook/presto/plugin/mysql/MySqlClient.java:182

                new String[] {"TABLE", "VIEW"});
    }

    @Override
    protected String getTableSchemaName(ResultSet resultSet)
            throws SQLException
    {
        // MySQL uses catalogs instead of schemas
        return resultSet.getString("TABLE_CAT");
    }

    @Override
    protected String toSqlType(Type type)
    {
        if (REAL.equals(type)) {
            return "float";
        }
        if (TIME_WITH_TIME_ZONE.equals(type) || TIMESTAMP_WITH_TIME_ZONE.equals(type)) {
            throw new PrestoException(NOT_SUPPORTED, "Unsupported column type: " + type.getDisplayName());
        }
        if (type instanceof TimestampType) {
            // In order to preserve microsecond information for TIMESTAMP_MICROSECONDS
            return "datetime(6)";
        }
        if (VARBINARY.equals(type)) {
            return "mediumblob";
        }
        if (isVarcharType(type)) {
            VarcharType varcharType = (VarcharType) type;
            if (varcharType.isUnbounded()) {
                return "longtext";
            }
            if (varcharType.getLengthSafe() <= 255) {
                return "tinytext";
            }
            if (varcharType.getLengthSafe() <= 65535) {
                return "text";

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Use TIMESTAMP or VARCHAR instead of TIMESTAMP WITH TIME ZONE
  2. Cast/convert the column type before creating the table in MySQL
  3. Avoid DDL that emits time-zone-carrying types toward MySQL
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at presto-mysql/src/main/java/com/facebook/presto/plugin/mysql/MySqlClient.java:182 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class

Background: Presto NOT_SUPPORTED error: what "not supported" means and how to fix it — this error's family across 3 libraries.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/db751f9b0e877bbb. Report an issue: GitHub.