{"record":{"id":"84c5a3155300e7ba","repo":"t8y2/dbx","slug":"unknown-method-s-84c5a3","errorCode":null,"errorMessage":"unknown method: %s","messagePattern":"unknown method: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/vastbase-go/main.go","lineNumber":481,"sourceCode":"\t\tresult, err := s.executeQueryPage(opts, 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.executeTransaction(params)\n\t\treturn result, false, err\n\tcase \"execute_batch\":\n\t\tresult, err := s.executeBatch(params)\n\t\treturn result, false, err\n\tcase \"disconnect\":\n\t\treturn map[string]bool{\"ok\": true}, false, s.disconnect()\n\tcase \"shutdown\":\n\t\treturn map[string]bool{\"ok\": true}, true, s.disconnect()\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"unknown method: %s\", method)\n\t}\n}\n\nfunc (s *server) connect(cp connectParams) error {\n\t_ = s.disconnect()\n\tdb, err := openAndPingDB(cp, defaultConnectTimeout, s.openDatabase)\n\tif err != nil {\n\t\treturn err\n\t}\n\ts.db = db\n\ts.params = cp\n\ts.mode = detectAgentMode(db, cp.MySQLCompatMode)\n\ts.usePgDefaultExpression = false\n\ts.catalogIdentityUnsupported = false\n\ts.infoColumnTypeUnsupported = false\n\ts.infoUdtNameUnsupported = false\n\ts.constraintDefinitionUnsupported = false\n\ts.constraintValidatedUnsupported = false","sourceCodeStart":463,"sourceCodeEnd":499,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/vastbase-go/main.go#L463-L499","documentation":"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.","triggerScenarios":"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.","commonSituations":"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'.","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."],"exampleFix":"// before\n{\"method\": \"executeQuery\", \"params\": {\"sql\": \"SELECT 1\"}}\n// after\n{\"method\": \"execute_query\", \"params\": {\"sql\": \"SELECT 1\"}}","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":["rpc","protocol","unknown-method","driver"],"backgroundTag":"unknown-rpc-method","analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}