mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Backpatch: Fix tsvector_out() and tsquery_out() to escape backslesh, add test of that.
Patch by Bruce Momjian <bruce@momjian.us>
This commit is contained in:
@ -342,6 +342,18 @@ SELECT '''the wether'':dc & '' sKies '':BC & a:d b:a';
|
||||
'the wether':dc & ' sKies ':BC & a:d b:a
|
||||
(1 row)
|
||||
|
||||
SELECT tsvector_in(tsvector_out('\'\\\\as\' ab\\c ab\\\\c AB\\\\\c ab\\\\\\\\c'::tsvector)), tsquery_in(tsquery_out('\'\\\\as\''::tsquery));
|
||||
tsvector_in | tsquery_in
|
||||
----------------------------------------+------------
|
||||
'\\as' 'abc' 'AB\\c' 'ab\\c' 'ab\\\\c' | '\\as'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'\\\\as\' ab\\c ab\\\\c AB\\\\\c ab\\\\\\\\c'::tsvector, '\'\\\\as\''::tsquery;
|
||||
tsvector | tsquery
|
||||
----------------------------------------+---------
|
||||
'\\as' 'abc' 'AB\\c' 'ab\\c' 'ab\\\\c' | '\\as'
|
||||
(1 row)
|
||||
|
||||
select lexize('simple', 'ASD56 hsdkf');
|
||||
lexize
|
||||
-----------------
|
||||
|
@ -680,7 +680,7 @@ infix(INFIX * in, bool first)
|
||||
in->cur++;
|
||||
while (*op)
|
||||
{
|
||||
if (*op == '\'')
|
||||
if (*op == '\'' || *op == '\\')
|
||||
{
|
||||
*(in->cur) = '\\';
|
||||
in->cur++;
|
||||
|
@ -65,6 +65,9 @@ SELECT '1&(2&(4&(5|!6)))'::tsquery;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::tsquery;
|
||||
SELECT '''the wether'':dc & '' sKies '':BC & a:d b:a';
|
||||
|
||||
SELECT tsvector_in(tsvector_out('\'\\\\as\' ab\\c ab\\\\c AB\\\\\c ab\\\\\\\\c'::tsvector)), tsquery_in(tsquery_out('\'\\\\as\''::tsquery));
|
||||
SELECT '\'\\\\as\' ab\\c ab\\\\c AB\\\\\c ab\\\\\\\\c'::tsvector, '\'\\\\as\''::tsquery;
|
||||
|
||||
select lexize('simple', 'ASD56 hsdkf');
|
||||
select lexize('en_stem', 'SKIES Problems identity');
|
||||
|
||||
|
@ -519,7 +519,7 @@ tsvector_out(PG_FUNCTION_ARGS)
|
||||
j = ptr->len;
|
||||
while (j--)
|
||||
{
|
||||
if (*curin == '\'')
|
||||
if (*curin == '\'' || *curin == '\\')
|
||||
{
|
||||
int4 pos = curout - outbuf;
|
||||
|
||||
|
Reference in New Issue
Block a user