aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2007-11-16 15:05:59 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2007-11-16 15:05:59 +0000
commita867b40cf45fa564810fedf892fcfbcae46a2009 (patch)
tree599c97c3c35e32f18b7da7735669fb3488a10938 /src/backend/utils/adt
parent2f1e7ffb76f7478f56aa511f6a0439a6169cbdda (diff)
downloadpostgresql-a867b40cf45fa564810fedf892fcfbcae46a2009.tar.gz
postgresql-a867b40cf45fa564810fedf892fcfbcae46a2009.zip
Fix tsvectorout() and tsqueryout() to escape backslesh, add test of that.
Patch by Bruce Momjian <bruce@momjian.us> Backpatch is needed, but it's impossible to apply it directly
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r--src/backend/utils/adt/tsquery.c7
-rw-r--r--src/backend/utils/adt/tsvector.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c
index e591b9622f9..509998c5102 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 a82c6bb44d7..fb44c1224f8 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++;