From a867b40cf45fa564810fedf892fcfbcae46a2009 Mon Sep 17 00:00:00 2001 From: Teodor Sigaev Date: Fri, 16 Nov 2007 15:05:59 +0000 Subject: Fix tsvectorout() and tsqueryout() to escape backslesh, add test of that. Patch by Bruce Momjian Backpatch is needed, but it's impossible to apply it directly --- src/backend/utils/adt/tsquery.c | 7 ++++++- src/backend/utils/adt/tsvector.c | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/backend') diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c index e591b9622f..509998c510 100644 --- a/src/backend/utils/adt/tsquery.c +++ b/src/backend/utils/adt/tsquery.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/tsquery.c,v 1.10 2007/11/15 22:25:16 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/tsquery.c,v 1.11 2007/11/16 15:05:59 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -614,6 +614,11 @@ infix(INFIX *in, bool first) *(in->cur) = '\''; in->cur++; } + else if (t_iseq(op, '\\')) + { + *(in->cur) = '\\'; + in->cur++; + } COPYCHAR(in->cur, op); clen = pg_mblen(op); diff --git a/src/backend/utils/adt/tsvector.c b/src/backend/utils/adt/tsvector.c index a82c6bb44d..fb44c1224f 100644 --- a/src/backend/utils/adt/tsvector.c +++ b/src/backend/utils/adt/tsvector.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/tsvector.c,v 1.8 2007/11/15 22:25:16 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/tsvector.c,v 1.9 2007/11/16 15:05:59 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -345,6 +345,8 @@ tsvectorout(PG_FUNCTION_ARGS) if (t_iseq(curin, '\'')) *curout++ = '\''; + else if (t_iseq(curin, '\\')) + *curout++ = '\\'; while (len--) *curout++ = *curin++; -- cgit v1.2.1