{"record":{"id":"6d5a60bfa195579e","repo":"t8y2/dbx","slug":"execution-plans-are-not-supported-by-cassandra","errorCode":null,"errorMessage":"execution plans are not supported by Cassandra","messagePattern":"execution plans are not supported by Cassandra","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/cassandra-go/main.go","lineNumber":369,"sourceCode":"\t\treturn result, false, err\n\tcase \"get_columns\":\n\t\tresult, err := s.getColumns(stringParam(params, \"schema\"), stringParam(params, \"table\"))\n\t\treturn result, false, err\n\tcase \"list_indexes\":\n\t\tresult, err := s.listIndexes(stringParam(params, \"schema\"), stringParam(params, \"table\"))\n\t\treturn result, false, err\n\tcase \"list_foreign_keys\":\n\t\treturn []foreignKeyInfo{}, false, nil\n\tcase \"list_triggers\":\n\t\tresult, err := s.listTriggers(stringParam(params, \"schema\"), stringParam(params, \"table\"))\n\t\treturn result, false, err\n\tcase \"get_object_source\":\n\t\treturn nil, false, errors.New(\"object source is not supported by Cassandra\")\n\tcase \"get_table_ddl\":\n\t\tresult, err := s.getTableDDL(stringParam(params, \"schema\"), stringParam(params, \"table\"))\n\t\treturn result, false, err\n\tcase \"get_explain_info\":\n\t\treturn nil, false, errors.New(\"execution plans are not supported by Cassandra\")\n\tcase \"execute_query\":\n\t\tresult, err := s.executeQuery(queryOptionsFromParams(params))\n\t\treturn result, false, err\n\tcase \"execute_query_page\", \"start_table_read\":\n\t\tresult, err := s.executeQueryPage(queryOptionsFromParams(params), intParam(params, \"pageSize\"))\n\t\treturn result, false, err\n\tcase \"fetch_query_page\", \"fetch_table_read_page\":\n\t\tresult, err := s.fetchQueryPage(stringParam(params, \"sessionId\"), intParam(params, \"pageSize\"))\n\t\treturn result, false, err\n\tcase \"close_query_session\", \"close_table_read_session\":\n\t\treturn s.closeQuerySession(stringParam(params, \"sessionId\")), false, nil\n\tcase \"execute_transaction\":\n\t\tresult, err := s.executeStatements(params, true)\n\t\treturn result, false, err\n\tcase \"execute_batch\":\n\t\tresult, err := s.executeStatements(params, false)\n\t\treturn result, false, err\n\tcase \"disconnect\":","sourceCodeStart":351,"sourceCodeEnd":387,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/cassandra-go/main.go#L351-L387","documentation":"Returned by the cassandra-go dispatch handler when a client requests an execution plan. Cassandra/CQL has no EXPLAIN facility, so this capability is explicitly unsupported by the driver and the request is rejected with a permanent capability error rather than attempted.","triggerScenarios":"Any client call invoking get_explain_info against the Cassandra driver agent.","commonSituations":"Query-analysis tools that EXPLAIN every query before running it; generic SQL IDE features applied to Cassandra connections; automated query-optimizer workflows assuming relational backends.","solutions":["Do not call get_explain_info against Cassandra; guard the call by backend type","Use query tracing instead: enable tracing on the CQL statement (TRACING ON / gocql Query.Trace())","Inspect system_traces.sessions and system_traces.events after executing a traced query","Treat the error as a capability signal and disable plan viewing in the UI"],"exampleFix":"// before\n// const plan = await rpc(\"get_explain_info\", {query})\n// after\n// if (backend !== \"cassandra\") plan = await rpc(\"get_explain_info\", {query})\n// else plan = await traceQuery(query) // uses CQL tracing","handlingStrategy":"fallback","validationCode":null,"typeGuard":"const supportsExplain = (backend) => backend !== \"cassandra\";","tryCatchPattern":"try { plan = await rpc(\"get_explain_info\", params) }\ncatch (e) {\n  if (e.message.includes(\"execution plans are not supported\")) {\n    plan = await traceViaCql(params.query); // fallback to CQL tracing\n  }\n}","preventionTips":["Use CQL TRACING / gocql Query.Trace for query analysis on Cassandra","Gate EXPLAIN-style tooling behind backend capability checks","Treat this message as a stable capability contract, not a bug"],"tags":["unsupported-operation","cassandra","rpc","query-planning"],"backgroundTag":"operation-not-supported","analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}