{"id":"a5dfb72b88710ac8","repo":"jackc/pgx","slug":"invalid-tsvector-format-unterminated-quoted-lexem","errorCode":null,"errorMessage":"invalid tsvector format: unterminated quoted lexeme","messagePattern":"invalid tsvector format: unterminated quoted lexeme","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/tsvector.go","lineNumber":373,"sourceCode":"\nfunc (p *tsvectorParser) consumeSpaces() {\n\tfor !p.atEnd() && p.peek() == ' ' {\n\t\tp.consume()\n\t}\n}\n\n// consumeLexeme consumes a single-quoted lexeme, handling single quotes and backslash escapes.\nfunc (p *tsvectorParser) consumeLexeme() (string, error) {\n\tch, end := p.consume()\n\tif end || ch != '\\'' {\n\t\treturn \"\", fmt.Errorf(\"invalid tsvector format: lexeme must start with a single quote\")\n\t}\n\n\tvar buf strings.Builder\n\tfor {\n\t\tch, end := p.consume()\n\t\tif end {\n\t\t\treturn \"\", fmt.Errorf(\"invalid tsvector format: unterminated quoted lexeme\")\n\t\t}\n\n\t\tswitch ch {\n\t\tcase '\\'':\n\t\t\t// Escaped quote ('') — write a literal single quote\n\t\t\tif !p.atEnd() && p.peek() == '\\'' {\n\t\t\t\tp.consume()\n\t\t\t\tbuf.WriteByte('\\'')\n\t\t\t} else {\n\t\t\t\t// Closing quote — lexeme is complete\n\t\t\t\treturn buf.String(), nil\n\t\t\t}\n\t\tcase '\\\\':\n\t\t\tnext, end := p.consume()\n\t\t\tif end {\n\t\t\t\treturn \"\", fmt.Errorf(\"invalid tsvector format: unexpected end after backslash\")\n\t\t\t}\n\t\t\tbuf.WriteByte(next)","sourceCodeStart":355,"sourceCodeEnd":391,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/tsvector.go#L355-L391","documentation":"Error \"invalid tsvector format: unterminated quoted lexeme\" thrown in jackc/pgx.","triggerScenarios":"Thrown at pgtype/tsvector.go:373 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","schemaVersion":2}