tsvector string representation and parsing
От | Johannes Graën |
---|---|
Тема | tsvector string representation and parsing |
Дата | |
Msg-id | 9e1f312a-92cf-e002-9bfd-728aa450ee09@selfnet.de обсуждение исходный текст |
Ответы |
Re: tsvector string representation and parsing
|
Список | pgsql-general |
Hi, I am constructing a tsvector representation of some text manually because I need to provide explicit positional parameters. In some cases, the conversion fails and I get a "syntax error in tsvector". This is a minimal example that goes wrong (but shouldn't IMHO: > SELECT format('%L:1', '\:')::tsvector My expectation here is that %L would transform '\:' into a correctly formatted character string, including single quotes around the string. The documentation reads: > L quotes the argument value as an SQL literal > SELECT $$'\:':1$$ returns «'\:':1», but > SELECT $$'\:':1$$::tsvector returns «':':1», so something is happening here inside the single-quoted lexemes to the backslash. My understanding is that everything inside single quotes is taken as a lexeme. From the documentation: > To represent lexemes containing whitespace or punctuation, surround them with quotes So having everything surrounded by single quotes (followed by a positional argument after the colon), «$$'\:':1$$::tsvector» should actually return a vector with a single lexeme «\:» at position 1. Am I missing something? Regards Johannes
В списке pgsql-general по дате отправления: