{"record":{"id":"f06a8723b6d641cf","repo":"t8y2/dbx","slug":"parent-schema-is-required-for-xugu-package-members","errorCode":null,"errorMessage":"parent_schema is required for Xugu package members","messagePattern":"parent_schema is required for Xugu package members","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/xugu/package_members.go","lineNumber":47,"sourceCode":"\ntype xuguPackageMember struct {\n\tName       string\n\tKind       string\n\tSignature  string\n\tReturnType string\n}\n\nfunc (s *server) completionAssistantSearchPackageMembers(request completionAssistantRequest) (completionAssistantResponse, error) {\n\tparentName := strings.TrimSpace(request.ParentName)\n\tif parentName == \"\" || !xuguCompletionRequestsRoutines(request.ObjectKinds) {\n\t\treturn completionAssistantResponse{}, errors.New(\"completion assistant search is not supported for this request\")\n\t}\n\tparentSchema := strings.TrimSpace(request.ParentSchema)\n\tif parentSchema == \"\" {\n\t\tparentSchema = strings.TrimSpace(request.Schema)\n\t}\n\tif parentSchema == \"\" {\n\t\treturn completionAssistantResponse{}, errors.New(\"parent_schema is required for Xugu package members\")\n\t}\n\n\tspec, err := s.xuguPackageSpec(parentSchema, parentName)\n\tif err != nil {\n\t\treturn completionAssistantResponse{}, err\n\t}\n\tmembers := parseXuguPackageMembers(spec)\n\tallowedKinds := xuguCompletionRoutineKinds(request.ObjectKinds)\n\tfiltered := make([]xuguPackageMember, 0, len(members))\n\tfor _, member := range members {\n\t\tif !allowedKinds[member.Kind] || !xuguCompletionNameMatches(member.Name, request) {\n\t\t\tcontinue\n\t\t}\n\t\tfiltered = append(filtered, member)\n\t}\n\n\tlimit := request.MaxResults\n\tif limit <= 0 {","sourceCodeStart":29,"sourceCodeEnd":65,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/xugu/package_members.go#L29-L65","documentation":"This error is returned by completionAssistantSearchPackageMembers when neither ParentSchema nor Schema is provided. The driver needs a schema to look up the package specification (xuguPackageSpec) for member completion.","triggerScenarios":"Calling package member completion with an empty ParentName-adjacent schema: both request.ParentSchema and request.Schema are empty or whitespace.","commonSituations":"Completion clients omitting schema context because the connection's current schema wasn't propagated into the request payload.","solutions":["Set ParentSchema (or fall back to Schema) in the completion request","Populate the request schema from the session's current database/schema before dispatching","Have the client always send schema context for package member searches"],"exampleFix":"// before\nreq := completionAssistantRequest{ParentName: \"MYPKG\"} // no schema\n// after\nreq := completionAssistantRequest{ParentName: \"MYPKG\", ParentSchema: currentSchema}\nsearchPackageMembers(req)","handlingStrategy":"validation","validationCode":"schema := strings.TrimSpace(req.ParentSchema)\nif schema == \"\" {\n    schema = strings.TrimSpace(req.Schema)\n}\nif schema == \"\" {\n    schema = session.CurrentSchema // fallback before dispatch\n}","typeGuard":"func hasPackageSchema(req completionAssistantRequest) bool {\n    return strings.TrimSpace(req.ParentSchema) != \"\" || strings.TrimSpace(req.Schema) != \"\"\n}","tryCatchPattern":"if !hasPackageSchema(request) {\n    request.ParentSchema = currentSchema\n}\nresp, err := s.completionAssistantSearchPackageMembers(request)\nif err != nil {\n    return completionAssistantResponse{}, err\n}","preventionTips":["Always populate ParentSchema or Schema in completion requests","Propagate the session's current schema into completion request payloads"],"tags":["xugu","completion","validation","schema"],"backgroundTag":"missing-required-argument","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"}