From: Andrew Dunstan Date: Sun, 25 Nov 2007 15:37:11 +0000 (+0000) Subject: Fix XML tag namespace change inadvertantly missed from previous fix. Add X-Git-Tag: REL8_3_BETA4~52 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3de1f0daac2772d01086ad9a06a428c36648dd02;p=postgresql Fix XML tag namespace change inadvertantly missed from previous fix. Add regression test for XML names and numeric entities. --- diff --git a/src/backend/tsearch/wparser_def.c b/src/backend/tsearch/wparser_def.c index b80175456d..df32e285f0 100644 --- a/src/backend/tsearch/wparser_def.c +++ b/src/backend/tsearch/wparser_def.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.11 2007/11/20 02:25:22 adunstan Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.12 2007/11/25 15:37:11 adunstan Exp $ * *------------------------------------------------------------------------- */ @@ -827,7 +827,6 @@ static const TParserStateActionItem actionTPS_InXMLEntity[] = { {p_isalnum, 0, A_NEXT, TPS_InXMLEntity, 0, NULL}, {p_iseqC, ':', A_NEXT, TPS_InXMLEntity, 0, NULL}, {p_iseqC, '_', A_NEXT, TPS_InXMLEntity, 0, NULL}, - {p_iseqC, ':', A_NEXT, TPS_InXMLEntity, 0, NULL}, {p_iseqC, '.', A_NEXT, TPS_InXMLEntity, 0, NULL}, {p_iseqC, '-', A_NEXT, TPS_InXMLEntity, 0, NULL}, {p_iseqC, ';', A_NEXT, TPS_InXMLEntityEnd, 0, NULL}, @@ -871,6 +870,8 @@ static const TParserStateActionItem actionTPS_InTagFirst[] = { {p_iseqC, '!', A_PUSH, TPS_InCommentFirst, 0, NULL}, {p_iseqC, '?', A_PUSH, TPS_InXMLBegin, 0, NULL}, {p_isasclet, 0, A_PUSH, TPS_InTagName, 0, NULL}, + {p_iseqC, ':', A_PUSH, TPS_InTagName, 0, NULL}, + {p_iseqC, '_', A_PUSH, TPS_InTagName, 0, NULL}, {NULL, 0, A_POP, TPS_Null, 0, NULL} }; @@ -894,7 +895,11 @@ static const TParserStateActionItem actionTPS_InTagName[] = { {p_iseqC, '/', A_NEXT, TPS_InTagBeginEnd, 0, NULL}, {p_iseqC, '>', A_NEXT, TPS_InTagEnd, 0, SpecialTags}, {p_isspace, 0, A_NEXT, TPS_InTag, 0, SpecialTags}, - {p_isasclet, 0, A_NEXT, TPS_Null, 0, NULL}, + {p_isalnum, 0, A_NEXT, TPS_Null, 0, NULL}, + {p_iseqC, ':', A_NEXT, TPS_Null, 0, NULL}, + {p_iseqC, '_', A_NEXT, TPS_Null, 0, NULL}, + {p_iseqC, '.', A_NEXT, TPS_Null, 0, NULL}, + {p_iseqC, '-', A_NEXT, TPS_Null, 0, NULL}, {NULL, 0, A_POP, TPS_Null, 0, NULL} }; diff --git a/src/test/regress/expected/tsearch.out b/src/test/regress/expected/tsearch.out index eb00402075..50656de9ae 100644 --- a/src/test/regress/expected/tsearch.out +++ b/src/test/regress/expected/tsearch.out @@ -391,6 +391,21 @@ SELECT length(to_tsvector('english', '345 qwe@efd.r '' http://www.com/ http://ae 51 (1 row) +-- ts_debug +SELECT * from ts_debug('abc&nm1;def©ghiõjkl'); + alias | description | token | dictionaries | dictionary | lexemes +-----------+-----------------+----------------------------+----------------+--------------+--------- + tag | XML tag | | {} | | + asciiword | Word, all ASCII | abc | {english_stem} | english_stem | {abc} + entity | XML entity | &nm1; | {} | | + asciiword | Word, all ASCII | def | {english_stem} | english_stem | {def} + entity | XML entity | © | {} | | + asciiword | Word, all ASCII | ghi | {english_stem} | english_stem | {ghi} + entity | XML entity | õ | {} | | + asciiword | Word, all ASCII | jkl | {english_stem} | english_stem | {jkl} + tag | XML tag | | {} | | +(9 rows) + -- to_tsquery SELECT to_tsquery('english', 'qwe & sKies '); to_tsquery diff --git a/src/test/regress/sql/tsearch.sql b/src/test/regress/sql/tsearch.sql index 5f3e21b72a..9b37a51391 100644 --- a/src/test/regress/sql/tsearch.sql +++ b/src/test/regress/sql/tsearch.sql @@ -98,6 +98,10 @@ SELECT length(to_tsvector('english', '345 qwe@efd.r '' http://www.com/ http://ae /usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 wow < jqw <> qwerty')); +-- ts_debug + +SELECT * from ts_debug('abc&nm1;def©ghiõjkl'); + -- to_tsquery SELECT to_tsquery('english', 'qwe & sKies ');