{"record":{"id":"28aa9aaba5011089","repo":"prestodb/presto","slug":"not-supported-28aa9a","errorCode":"NOT_SUPPORTED","errorMessage":"Dropping materialized views not yet supported","messagePattern":"Dropping materialized views not yet supported","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-cassandra/src/main/java/com/facebook/presto/cassandra/CassandraMetadata.java","lineNumber":266,"sourceCode":"\n    @Override\n    public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, boolean ignoreExisting)\n    {\n        createTable(session, tableMetadata);\n    }\n\n    @Override\n    public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle)\n    {\n        checkArgument(tableHandle instanceof CassandraTableHandle, \"tableHandle is not an instance of CassandraTableHandle\");\n\n        if (!allowDropTable) {\n            throw new PrestoException(PERMISSION_DENIED, \"DROP TABLE is disabled in this Cassandra catalog\");\n        }\n\n        CassandraTableHandle cassandraTableHandle = (CassandraTableHandle) tableHandle;\n        if (cassandraSession.isMaterializedView(cassandraTableHandle.getSchemaTableName())) {\n            throw new PrestoException(NOT_SUPPORTED, \"Dropping materialized views not yet supported\");\n        }\n\n        cassandraSession.execute(String.format(\"DROP TABLE \\\"%s\\\".\\\"%s\\\"\", cassandraTableHandle.getSchemaName(), cassandraTableHandle.getTableName()));\n\n        // Refresh metadata after DROP to ensure schema cache is updated in Driver 4.x\n        cassandraSession.refreshSchema();\n    }\n\n    @Override\n    public void renameTable(ConnectorSession session, ConnectorTableHandle tableHandle, SchemaTableName newTableName)\n    {\n        throw new PrestoException(NOT_SUPPORTED, \"Renaming tables not yet supported for Cassandra\");\n    }\n\n    @Override\n    public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional<ConnectorNewTableLayout> layout)\n    {\n        return createTable(session, tableMetadata);","sourceCodeStart":248,"sourceCodeEnd":284,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-cassandra/src/main/java/com/facebook/presto/cassandra/CassandraMetadata.java#L248-L284","documentation":"Fired by dropTable when the table handle being dropped actually refers to a Cassandra materialized view. The Cassandra connector's drop path only implements table deletion; dropping a view is an unimplemented operation, so the request is rejected as not yet supported.","triggerScenarios":"Thrown at presto-cassandra/src/main/java/com/facebook/presto/cassandra/CassandraMetadata.java:266 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Drop the materialized view directly in Cassandra with DROP MATERIALIZED VIEW","Track support for view drops in newer connector versions"],"exampleFix":null,"handlingStrategy":"type-guard","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"}