t8y2/dbx · error
unknown method: %s
Error message
unknown method: %s
What it means
The JSON-RPC style dispatch table in the vastbase-go driver agent received a method name that has no matching case in its switch statement (main.go:481). The driver only accepts a fixed set of method names (connect, execute_query, get_type_details, list_indexes, etc.); anything else falls through to the default branch. This is a protocol-level guard so unknown or misspelled requests fail fast instead of silently returning nothing.
Source
Thrown at agents/drivers/vastbase-go/main.go:481
result, err := s.executeQueryPage(opts, 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.executeTransaction(params)
return result, false, err
case "execute_batch":
result, err := s.executeBatch(params)
return result, false, err
case "disconnect":
return map[string]bool{"ok": true}, false, s.disconnect()
case "shutdown":
return map[string]bool{"ok": true}, true, s.disconnect()
default:
return nil, false, fmt.Errorf("unknown method: %s", method)
}
}
func (s *server) connect(cp connectParams) error {
_ = s.disconnect()
db, err := openAndPingDB(cp, defaultConnectTimeout, s.openDatabase)
if err != nil {
return err
}
s.db = db
s.params = cp
s.mode = detectAgentMode(db, cp.MySQLCompatMode)
s.usePgDefaultExpression = false
s.catalogIdentityUnsupported = false
s.infoColumnTypeUnsupported = false
s.infoUdtNameUnsupported = false
s.constraintDefinitionUnsupported = false
s.constraintValidatedUnsupported = falseView on GitHub (pinned to c0390bff16)
Solutions
- Check the method name for spelling and exact casing; all methods are snake_case (e.g. 'execute_query', 'get_type_details').
- Compare client and driver versions and upgrade the vastbase-go driver if the client is newer and expects a method this build does not implement.
- List the supported methods by consulting the switch dispatch in main.go (the case labels) and use one of those names.
- If you control the code, add a new case branch to the dispatch switch implementing the missing method.
Example fix
// before
{"method": "executeQuery", "params": {"sql": "SELECT 1"}}
// after
{"method": "execute_query", "params": {"sql": "SELECT 1"}} Defensive patterns
Strategy: validation
When it happens
Trigger: Sending a request over the agent protocol whose 'method' field is misspelled, uses wrong casing, or is a method implemented only in another database driver (e.g. a MySQL- or Postgres-specific method name) rather than in vastbase-go.
Common situations: Client and driver version mismatch (newer client calling a method added after this driver version); hand-crafted test payloads; copying method names from another driver's docs; typos like 'executeQuery' instead of 'execute_query'.
Related errors
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/84c5a3155300e7ba.
Report an issue: GitHub.