diff options
author | unknown <bar@mysql.com> | 2006-02-28 13:59:16 +0400 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-02-28 13:59:16 +0400 |
commit | 828de833bf3d981a28c94346121d99ef6efb30b4 (patch) | |
tree | 1bec14b78e774e920471b487216af2d2bec36f3a /mysql-test/t/xml.test | |
parent | e2393aa24a02505688aabc73fa4ebf79aeff17d9 (diff) | |
download | mariadb-git-828de833bf3d981a28c94346121d99ef6efb30b4.tar.gz |
Bug#16313 XML: extractvalue() ignores '!' in names
xml.result, xml.test:
Adding test case.
item_xmlfunc.cc:
Fixed that the "!" character written at the end was ignored.
Now if we try to scan "!=", and if "!" is not
followed by "=", we rollback lex scanner back
to "!" token, so the parser will start to check
the next rule from the "!" character again.
Previously parser started from the next character,
which was EOF in the example in xml.test,
which led to query being successfully parsed,
instead of producing a syntax error.
sql/item_xmlfunc.cc:
Bug#16313 XML: extractvalue() ignores '!' in names
'!' at the end was ignored.
Now if we try to scan "!=", and if "!" is not
followed by "=", we rollback lex scanner back
to "!" token, so the parser will start to check
the next rule from the "!" character again.
Previously it started from the next character,
which was EOF in the example in xml.test, and
which led to query being successfully parsed,
instead of producing a syntax error.
mysql-test/t/xml.test:
Adding test case.
mysql-test/r/xml.result:
Adding test case.
Diffstat (limited to 'mysql-test/t/xml.test')
-rw-r--r-- | mysql-test/t/xml.test | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index 0e24692f0fa..e69ab5ee58b 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -237,3 +237,9 @@ select extractvalue('<a>a<b>B</b></a>','a|/b'); # --error 1105 select extractvalue('<a>A</a>','/<a>'); + +# +# Bug#16313 XML: extractvalue() ignores '!' in names +# +--error 1105 +select extractvalue('<a><b>b</b><b!>b!</b!></a>','//b!'); |