mirror of
https://github.com/postgres/postgres.git
synced 2025-07-09 22:41:56 +03:00
Fix XML tag namespace change inadvertantly missed from previous fix. Add
regression test for XML names and numeric entities.
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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_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_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},
|
{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_InCommentFirst, 0, NULL},
|
||||||
{p_iseqC, '?', A_PUSH, TPS_InXMLBegin, 0, NULL},
|
{p_iseqC, '?', A_PUSH, TPS_InXMLBegin, 0, NULL},
|
||||||
{p_isasclet, 0, A_PUSH, TPS_InTagName, 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}
|
{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_InTagBeginEnd, 0, NULL},
|
||||||
{p_iseqC, '>', A_NEXT, TPS_InTagEnd, 0, SpecialTags},
|
{p_iseqC, '>', A_NEXT, TPS_InTagEnd, 0, SpecialTags},
|
||||||
{p_isspace, 0, A_NEXT, TPS_InTag, 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}
|
{NULL, 0, A_POP, TPS_Null, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -391,6 +391,21 @@ SELECT length(to_tsvector('english', '345 qwe@efd.r '' http://www.com/ http://ae
|
|||||||
51
|
51
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
-- ts_debug
|
||||||
|
SELECT * from ts_debug('<myns:foo-bar_baz.blurfl>abc&nm1;def©ghiõ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 | © | {} | |
|
||||||
|
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 | </myns:foo-bar_baz.blurfl> | {} | |
|
||||||
|
(9 rows)
|
||||||
|
|
||||||
-- to_tsquery
|
-- to_tsquery
|
||||||
SELECT to_tsquery('english', 'qwe & sKies ');
|
SELECT to_tsquery('english', 'qwe & sKies ');
|
||||||
to_tsquery
|
to_tsquery
|
||||||
|
@ -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
|
/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'));
|
<i <b> wow < jqw <> qwerty'));
|
||||||
|
|
||||||
|
-- ts_debug
|
||||||
|
|
||||||
|
SELECT * from ts_debug('<myns:foo-bar_baz.blurfl>abc&nm1;def©ghiõjkl</myns:foo-bar_baz.blurfl>');
|
||||||
|
|
||||||
-- to_tsquery
|
-- to_tsquery
|
||||||
|
|
||||||
SELECT to_tsquery('english', 'qwe & sKies ');
|
SELECT to_tsquery('english', 'qwe & sKies ');
|
||||||
|
Reference in New Issue
Block a user