{"record":{"id":"c0016569619f6d7f","repo":"temporalio/temporal","slug":"invalid-value-for-s-s","errorCode":null,"errorMessage":"invalid value for %s: %s","messagePattern":"invalid value for (.+?): (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/archiver/gcloud/query_parser.go","lineNumber":195,"sourceCode":"\t\tparsedQuery.workflowType = new(val)\n\tcase SearchPrecision:\n\t\tval, err := sqlquery.ExtractStringValue(valStr)\n\t\tif err != nil {\n\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":177,"sourceCodeEnd":204,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/archiver/gcloud/query_parser.go#L177-L204","documentation":"SearchPrecision must be one of the fixed values day, hour, minute, or second. Any other string value makes convertComparisonExpr return this error. The value controls time-bucket granularity used to locate the archived record.","triggerScenarios":"An archive query with e.g. `SearchPrecision = \"Day\"` (wrong case), `SearchPrecision = \"weekly\"`, or a misspelled precision value.","commonSituations":"Case-sensitivity mistakes (Day vs day); invented precision names; values localized or formatted differently than the expected lowercase constants.","solutions":["Use exactly one of: day, hour, minute, second (lowercase)","Check spelling and case of the precision value","Omit SearchPrecision entirely if the caller does not control bucketing","Cross-check against the Precision* constants in the gcloud archiver package"],"exampleFix":"// before\nquery := `WHERE StartTime = \"...\" AND SearchPrecision = \"Day\"`\n// after\nquery := `WHERE StartTime = \"...\" AND SearchPrecision = \"day\"`","handlingStrategy":"validation","validationCode":"var validPrecision = map[string]bool{\"day\":true,\"hour\":true,\"minute\":true,\"second\":true}\nfunc precisionOK(v string) bool { return validPrecision[v] }","typeGuard":null,"tryCatchPattern":"if !precisionOK(p) {\n\treturn fmt.Errorf(\"SearchPrecision must be day|hour|minute|second, got %q\", p)\n}","preventionTips":["Use lowercase constants day/hour/minute/second exactly","Define the precision values as shared constants, not inline strings","Reject invalid precision at input boundaries before query building"],"tags":["go","archiver","gcloud","query-parsing","validation"],"backgroundTag":"invalid-enum-value","analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}