t8y2/dbx · error

object source is not supported by Cassandra

Error message

object source is not supported by Cassandra

What it means

Cassandra is a wide-column store without stored procedures or server-side object source code, so the get_object_source method is explicitly unsupported by this driver and returns this error as a deliberate stub in dispatch.

Source

Thrown at agents/drivers/cassandra-go/main.go:364

		var input completionAssistantRequest
		if err := decodeParams(params, &input); err != nil {
			return nil, false, err
		}
		result, err := s.completionAssistantSearch(input)
		return result, false, err
	case "get_columns":
		result, err := s.getColumns(stringParam(params, "schema"), stringParam(params, "table"))
		return result, false, err
	case "list_indexes":
		result, err := s.listIndexes(stringParam(params, "schema"), stringParam(params, "table"))
		return result, false, err
	case "list_foreign_keys":
		return []foreignKeyInfo{}, false, nil
	case "list_triggers":
		result, err := s.listTriggers(stringParam(params, "schema"), stringParam(params, "table"))
		return result, false, err
	case "get_object_source":
		return nil, false, errors.New("object source is not supported by Cassandra")
	case "get_table_ddl":
		result, err := s.getTableDDL(stringParam(params, "schema"), stringParam(params, "table"))
		return result, false, err
	case "get_explain_info":
		return nil, false, errors.New("execution plans are not supported by Cassandra")
	case "execute_query":
		result, err := s.executeQuery(queryOptionsFromParams(params))
		return result, false, err
	case "execute_query_page", "start_table_read":
		result, err := s.executeQueryPage(queryOptionsFromParams(params), intParam(params, "pageSize"))
		return result, false, err
	case "fetch_query_page", "fetch_table_read_page":
		result, err := s.fetchQueryPage(stringParam(params, "sessionId"), intParam(params, "pageSize"))
		return result, false, err
	case "close_query_session", "close_table_read_session":
		return s.closeQuerySession(stringParam(params, "sessionId")), false, nil
	case "execute_transaction":
		result, err := s.executeStatements(params, true)

View on GitHub (pinned to c0390bff16)

Solutions

  1. Skip get_object_source calls when the backend is Cassandra
  2. Use get_table_ddl instead for table structure
  3. Feature-detect: treat this error as 'capability not available' and hide the action in the UI
  4. Read the schema via system_schema tables directly if programmatic access is needed

Example fix

// before
// const src = await rpc("get_object_source", {schema, table})
// after
// const src = backend === "cassandra" ? null : await rpc("get_object_source", {schema, table})
Defensive patterns

Strategy: fallback

Type guard

const supportsObjectSource = (backend) => backend !== "cassandra";

Try / catch

try { src = await rpc("get_object_source", params) }
catch (e) {
  if (e.message.includes("object source is not supported")) src = null; // hide feature
}

Prevention

When it happens

Trigger: Any client call invoking the get_object_source method against the Cassandra driver agent, regardless of params.

Common situations: Generic database GUI/IDE that probes every connected DB for object source (e.g. functions/triggers bodies); migration tooling assuming relational capabilities; test suites enumerating all driver methods uniformly.

Related errors


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/0432300fc3778393. Report an issue: GitHub.