{"record":{"id":"9807b874e5bb2318","repo":"Tencent/WeKnora","slug":"validation-failed-s","errorCode":null,"errorMessage":"validation failed: %s","messagePattern":"validation failed: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/agent/tools/database_query.go","lineNumber":275,"sourceCode":"\tsecuredSQL, validationResult, err := utils.ValidateAndSecureSQL(\n\t\tsqlQuery,\n\t\tutils.WithSecurityDefaults(tenantID),\n\t\tutils.WithSoftDeleteFilter(\"knowledge_bases\", \"knowledges\", \"chunks\"),\n\t\tutils.WithHiddenKBFilter(),\n\t\tutils.WithChunkEnabledFilter(),\n\t\tutils.WithInjectionRiskCheck(),\n\t\tutils.WithSearchScopes(searchScopes),\n\t)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tif !validationResult.Valid {\n\t\tvar errMsgs []string\n\t\tfor _, valErr := range validationResult.Errors {\n\t\t\terrMsgs = append(errMsgs, fmt.Sprintf(\"%s: %s\", valErr.Type, valErr.Message))\n\t\t}\n\t\treturn \"\", fmt.Errorf(\"validation failed: %s\", strings.Join(errMsgs, \"; \"))\n\t}\n\n\treturn securedSQL, nil\n}\n\nfunc searchScopesFromTargets(searchTargets types.SearchTargets) []utils.SearchScope {\n\tscopes := make([]utils.SearchScope, 0, len(searchTargets))\n\tfor _, target := range searchTargets {\n\t\tif target == nil || target.KnowledgeBaseID == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tknowledgeIDs, tagIDs := searchTargetScope(target)\n\t\tif !searchTargetIsWholeKB(target) && len(knowledgeIDs) == 0 && len(tagIDs) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\tscopes = append(scopes, utils.SearchScope{\n\t\t\tKnowledgeBaseID: target.KnowledgeBaseID,\n\t\t\tKnowledgeIDs:    knowledgeIDs,","sourceCodeStart":257,"sourceCodeEnd":293,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/agent/tools/database_query.go#L257-L293","documentation":"The SQL security/validation pipeline (ValidateAndSecureSQL with tenant, soft-delete, hidden-KB, enabled-chunk and injection options) reported rule violations: the collected per-error type/message strings are joined into this error, meaning the statement failed policy checks and was rejected before execution.","triggerScenarios":"Thrown at internal/agent/tools/database_query.go:275 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the joined validation error types to see which rule fired","Rewrite the query to target only in-scope, enabled knowledge tables","Remove injection-prone constructs flagged by the risk check"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}