Commit 3fb0e543 authored by bar@mysql.com's avatar bar@mysql.com

Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/usr/home/bar/mysql-5.1-new.16313
parents 47cb191a bcc72ad0
......@@ -544,3 +544,5 @@ extractvalue('<a>a<b>B</b></a>','a|/b')
a
select extractvalue('<a>A</a>','/<a>');
ERROR HY000: XPATH syntax error: '>'
select extractvalue('<a><b>b</b><b!>b!</b!></a>','//b!');
ERROR HY000: XPATH syntax error: '!'
......@@ -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!');
......@@ -1976,8 +1976,17 @@ static int my_xpath_parse_AndExpr(MY_XPATH *xpath)
*/
static int my_xpath_parse_ne(MY_XPATH *xpath)
{
return my_xpath_parse_term(xpath, MY_XPATH_LEX_EXCL) &&
my_xpath_parse_term(xpath, MY_XPATH_LEX_EQ);
MY_XPATH_LEX prevtok= xpath->prevtok;
if (!my_xpath_parse_term(xpath, MY_XPATH_LEX_EXCL))
return 0;
if (!my_xpath_parse_term(xpath, MY_XPATH_LEX_EQ))
{
/* Unget the exclamation mark */
xpath->lasttok= xpath->prevtok;
xpath->prevtok= prevtok;
return 0;
}
return 1;
}
static int my_xpath_parse_EqualityOperator(MY_XPATH *xpath)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment