{"record":{"id":"cfdd104e3975b480","repo":"prestodb/presto","slug":"type-mismatch","errorCode":"TYPE_MISMATCH","errorMessage":"Unknown type '%s' for column '%s'","messagePattern":"Unknown type '(.+?)' for column '(.+?)'","errorType":"error_code","errorClass":"SemanticException","httpStatus":null,"severity":"error","filePath":"presto-main-base/src/main/java/com/facebook/presto/execution/AddColumnTask.java","lineNumber":101,"sourceCode":"            if (!statement.isTableExists()) {\n                throw new SemanticException(NOT_SUPPORTED, statement, \"'%s' is a materialized view, and add column is not supported\", tableName);\n            }\n            return immediateFuture(null);\n        }\n\n        ConnectorId connectorId = getConnectorIdOrThrow(session, metadata, tableName.getCatalogName());\n\n        accessControl.checkCanAddColumns(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName);\n\n        Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle.get());\n\n        ColumnDefinition element = statement.getColumn();\n        Type type;\n        try {\n            type = metadata.getType(parseTypeSignature(element.getType()));\n        }\n        catch (IllegalArgumentException | UnknownTypeException e) {\n            throw new SemanticException(TYPE_MISMATCH, element, \"Unknown type '%s' for column '%s'\", element.getType(), element.getName());\n        }\n        if (type.equals(UNKNOWN)) {\n            throw new SemanticException(TYPE_MISMATCH, element, \"Unknown type '%s' for column '%s'\", element.getType(), element.getName());\n        }\n        if (columnHandles.containsKey(element.getName().getValueLowerCase())) {\n            if (!statement.isColumnNotExists()) {\n                throw new SemanticException(COLUMN_ALREADY_EXISTS, statement, \"Column '%s' already exists\", element.getName());\n            }\n            return immediateFuture(null);\n        }\n        if (!element.isNullable() && !metadata.getConnectorCapabilities(session, connectorId).contains(NOT_NULL_COLUMN_CONSTRAINT)) {\n            throw new SemanticException(NOT_SUPPORTED, element, \"Catalog '%s' does not support NOT NULL for column '%s'\", connectorId.getCatalogName(), element.getName());\n        }\n\n        Map<String, Expression> sqlProperties = mapFromProperties(element.getProperties());\n        Map<String, Object> columnProperties = metadata.getColumnPropertyManager().getProperties(\n                connectorId,\n                tableName.getCatalogName(),","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-main-base/src/main/java/com/facebook/presto/execution/AddColumnTask.java#L83-L119","documentation":"AddColumnTask.execute could not resolve the new column's type signature via metadata.getType; the type name is unknown to the catalog/type registry, so the DDL is rejected with TYPE_MISMATCH naming the type and column.","triggerScenarios":"Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/AddColumnTask.java:101 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a type the connector supports (check the connector's documentation for supported types)","Register the missing custom type if applicable"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}