Fix XML tag namespace change inadvertantly missed from previous fix. Add

regression test for XML names and numeric entities.
This commit is contained in:
Andrew Dunstan 2007-11-25 15:37:11 +00:00
parent a999ff63ff
commit 3de1f0daac
3 changed files with 27 additions and 3 deletions

View 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}
};

View 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

View 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 ');