diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2009-03-11 16:32:42 +0100 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2009-03-11 16:32:42 +0100 |
commit | b0fcbc84ef609b1147c3624e90fe3dac66ef8c1d (patch) | |
tree | ee09976ab4dd9dee924a4c7e30eb0fc9f5e7d63f /sql/item_xmlfunc.cc | |
parent | a15d25f07e56cbd80aecbeadef635d3b55e00e85 (diff) | |
parent | 11570d64fcffa66feaf1fdb8072fdfb9dbd865ca (diff) | |
download | mariadb-git-b0fcbc84ef609b1147c3624e90fe3dac66ef8c1d.tar.gz |
merge of 5.1-main into 5.1-maria; MyISAM changes are also ported to Maria.
Diffstat (limited to 'sql/item_xmlfunc.cc')
-rw-r--r-- | sql/item_xmlfunc.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/item_xmlfunc.cc b/sql/item_xmlfunc.cc index 0e13830a3b1..364b8beb2a0 100644 --- a/sql/item_xmlfunc.cc +++ b/sql/item_xmlfunc.cc @@ -1969,6 +1969,13 @@ my_xpath_parse_FilterExpr_opt_slashes_RelativeLocationPath(MY_XPATH *xpath) if (!my_xpath_parse_term(xpath, MY_XPATH_LEX_SLASH)) return 1; + if (xpath->item->type() != Item::XPATH_NODESET) + { + xpath->lasttok= xpath->prevtok; + xpath->error= 1; + return 0; + } + my_xpath_parse_term(xpath, MY_XPATH_LEX_SLASH); return my_xpath_parse_RelativeLocationPath(xpath); } @@ -1976,7 +1983,6 @@ static int my_xpath_parse_PathExpr(MY_XPATH *xpath) { return my_xpath_parse_LocationPath(xpath) || my_xpath_parse_FilterExpr_opt_slashes_RelativeLocationPath(xpath); - } |