]> granicus.if.org Git - postgresql/commitdiff
Fix XML tag namespace change inadvertantly missed from previous fix. Add
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 25 Nov 2007 15:37:11 +0000 (15:37 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 25 Nov 2007 15:37:11 +0000 (15:37 +0000)
regression test for XML names and numeric entities.

src/backend/tsearch/wparser_def.c
src/test/regress/expected/tsearch.out
src/test/regress/sql/tsearch.sql

index b80175456d2ee3ef0699eef2f3eeeac58c24bff0..df32e285f07545cf2483eba2338dbf8344a47ce8 100644 (file)
@@ -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}
 };
 
index eb004020758e8b826acbc598078b5b6ca4f42254..50656de9ae93a307c501828a3396fbb07f8c9b62 100644 (file)
@@ -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('<myns:foo-bar_baz.blurfl>abc&nm1;def&#xa9;ghi&#245;jkl</myns:foo-bar_baz.blurfl>');
+   alias   |   description   |           token            |  dictionaries  |  dictionary  | lexemes 
+-----------+-----------------+----------------------------+----------------+--------------+---------
+ tag       | XML tag         | <myns:foo-bar_baz.blurfl>  | {}             |              | 
+ 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      | &#xa9;                     | {}             |              | 
+ asciiword | Word, all ASCII | ghi                        | {english_stem} | english_stem | {ghi}
+ entity    | XML entity      | &#245;                     | {}             |              | 
+ asciiword | Word, all ASCII | jkl                        | {english_stem} | english_stem | {jkl}
+ tag       | XML tag         | </myns:foo-bar_baz.blurfl> | {}             |              | 
+(9 rows)
+
 -- to_tsquery
 SELECT to_tsquery('english', 'qwe & sKies ');
   to_tsquery   
index 5f3e21b72a1fd39aefc85f35d06c61cb31a1ef74..9b37a51391ea93c23919ff673b5bfc1a30d2eb01 100644 (file)
@@ -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
 <i <b> wow  < jqw <> qwerty'));
 
+-- ts_debug
+
+SELECT * from ts_debug('<myns:foo-bar_baz.blurfl>abc&nm1;def&#xa9;ghi&#245;jkl</myns:foo-bar_baz.blurfl>');
+
 -- to_tsquery
 
 SELECT to_tsquery('english', 'qwe & sKies ');