{"record":{"id":"2482f315aba43147","repo":"temporalio/temporal","slug":"unknown-filter-name-s","errorCode":null,"errorMessage":"unknown filter name: %s","messagePattern":"unknown filter name: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/archiver/gcloud/query_parser.go","lineNumber":199,"sourceCode":"\t\t\treturn err\n\t\t}\n\t\tif op != \"=\" {\n\t\t\treturn fmt.Errorf(\"only operation = is support for %s\", SearchPrecision)\n\t\t}\n\t\tif parsedQuery.searchPrecision != nil && *parsedQuery.searchPrecision != val {\n\t\t\treturn fmt.Errorf(\"only one expression is allowed for %s\", SearchPrecision)\n\t\t}\n\t\tswitch val {\n\t\tcase PrecisionDay:\n\t\tcase PrecisionHour:\n\t\tcase PrecisionMinute:\n\t\tcase PrecisionSecond:\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"invalid value for %s: %s\", SearchPrecision, val)\n\t\t}\n\t\tparsedQuery.searchPrecision = new(val)\n\tdefault:\n\t\treturn fmt.Errorf(\"unknown filter name: %s\", colNameStr)\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":181,"sourceCodeEnd":204,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/archiver/gcloud/query_parser.go#L181-L204","documentation":"The gcloud archive query parser supports a fixed set of filter columns (WorkflowID, RunID, CloseTime, StartTime, WorkflowType, SearchPrecision). Any other column name in the WHERE clause falls to the default branch of the switch and returns this error. The parser does not do fuzzy matching; the column string must match the constant exactly.","triggerScenarios":"A WHERE clause referencing unsupported or misspelled columns, e.g. `WHERE ExecutionStatus = \"Completed\"`, `WHERE workflowid = \"...\"` (case/format mismatch), or custom search attributes in an archive query.","commonSituations":"Queries written for Elasticsearch visibility (which accepts ExecutionStatus and custom search attributes) run against a gcloud archive; typos in column names; case mismatches.","solutions":["Restrict the WHERE clause to supported fields: WorkflowID, RunID, CloseTime, StartTime, WorkflowType, SearchPrecision","Fix the column-name spelling/case to match the parser constants exactly","Remove unsupported search-attribute filters when querying archives","Check the actual error text: it echoes the offending column name; verify against the switch in common/archiver/gcloud/query_parser.go"],"exampleFix":"// before\nquery := `WHERE WorkflowID = \"w1\" AND ExecutionStatus = \"Completed\"`\n// after\nquery := `WHERE WorkflowID = \"w1\"`","handlingStrategy":"validation","validationCode":"var archiveFilters = map[string]bool{\n\t\"WorkflowID\":true,\"RunID\":true,\"CloseTime\":true,\n\t\"StartTime\":true,\"WorkflowType\":true,\"SearchPrecision\":true,\n}\nfunc filterOK(col string) bool { return archiveFilters[col] }","typeGuard":null,"tryCatchPattern":"q, err := parseArchiveQuery(raw)\nif err != nil {\n\treturn fmt.Errorf(\"unsupported archive filter: %w\", err)\n}","preventionTips":["Whitelist only the six supported filter columns when building archive queries","Strip custom search attributes before archive queries","Match column names exactly (case included) to the parser constants"],"tags":["go","archiver","gcloud","query-parsing","visibility"],"backgroundTag":"unknown-field-in-filter","analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}