{"record":{"id":"fecfff2abe91b265","repo":"prestodb/presto","slug":"missing-column-fecfff","errorCode":"MISSING_COLUMN","errorMessage":"Column '%s' does not exist","messagePattern":"Column '(.+?)' does not exist","errorType":"error_code","errorClass":"SemanticException","httpStatus":null,"severity":"error","filePath":"presto-main-base/src/main/java/com/facebook/presto/execution/AlterColumnNotNullTask.java","lineNumber":92,"sourceCode":"            return immediateFuture(null);\n        }\n\n        ConnectorId connectorId = metadata.getCatalogHandle(session, tableName.getCatalogName())\n                .orElseThrow(() -> new PrestoException(NOT_FOUND, \"Catalog does not exist: \" + tableName.getCatalogName()));\n        Set<ConnectorCapabilities> connectorCapabilities = metadata.getConnectorCapabilities(session, connectorId);\n        if (!connectorCapabilities.contains(ALTER_COLUMN) || !connectorCapabilities.contains(NOT_NULL_COLUMN_CONSTRAINT)) {\n            throw new SemanticException(NOT_SUPPORTED, statement, \"Catalog %s does not support ALTER COLUMN with NOT NULL\", connectorId.getCatalogName());\n        }\n\n        accessControl.checkCanAddConstraints(session.getRequiredTransactionId(), session.getIdentity(), session.getAccessControlContext(), tableName);\n\n        TableHandle tableHandle = tableHandleOptional.get();\n        String column = metadata.normalizeIdentifier(session, tableName.getCatalogName(), statement.getColumn().getValue());\n\n        Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle);\n        ColumnHandle columnHandle = columnHandles.get(column);\n        if (columnHandle == null) {\n            throw new SemanticException(MISSING_COLUMN, statement, \"Column '%s' does not exist\", column);\n        }\n\n        if (metadata.getColumnMetadata(session, tableHandle, columnHandle).isHidden()) {\n            throw new SemanticException(NOT_SUPPORTED, statement, \"Cannot add/drop NOT NULL on hidden column\");\n        }\n\n        if (statement.isDropConstraint()) {\n            metadata.dropConstraint(session, tableHandle, Optional.empty(), Optional.of(column));\n        }\n        else {\n            metadata.addConstraint(session, tableHandle, new NotNullConstraint(column));\n        }\n\n        return immediateFuture(null);\n    }\n}\n","sourceCodeStart":74,"sourceCodeEnd":109,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-main-base/src/main/java/com/facebook/presto/execution/AlterColumnNotNullTask.java#L74-L109","documentation":"AlterColumnNotNullTask looks up the column being altered among the table's handles; this fires when the named column does not exist in the table (and the statement lacked IF EXISTS/NOT NULL tolerance), raising MISSING_COLUMN_NAME.","triggerScenarios":"Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/AlterColumnNotNullTask.java:92 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the column name spelling","List the table's columns to find the correct name"],"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"}