Merge mysql.com:/home/ram/work/mysql-5.1-engines

into  mysql.com:/home/ram/work/b32557/b32557.5.1
This commit is contained in:
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru 2007-11-23 12:16:22 +04:00
commit 6339719b2e
3 changed files with 25 additions and 2 deletions

View file

@ -1022,4 +1022,11 @@ NULL NULL NULL
select updatexml(NULL, NULL, NULL);
updatexml(NULL, NULL, NULL)
NULL
CREATE TABLE t1(a INT NOT NULL);
INSERT INTO t1 VALUES (0), (0);
SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
1
1
1
DROP TABLE t1;
End of 5.1 tests

View file

@ -543,4 +543,12 @@ select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL),
updatexml(NULL, 1, NULL);
select updatexml(NULL, NULL, NULL);
#
# Bug #32557: order by updatexml causes assertion in filesort
#
CREATE TABLE t1(a INT NOT NULL);
INSERT INTO t1 VALUES (0), (0);
SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
DROP TABLE t1;
--echo End of 5.1 tests

View file

@ -28,8 +28,16 @@ protected:
String tmp_value, pxml;
Item *nodeset_func;
public:
Item_xml_str_func(Item *a, Item *b): Item_str_func(a,b) {}
Item_xml_str_func(Item *a, Item *b, Item *c): Item_str_func(a,b,c) {}
Item_xml_str_func(Item *a, Item *b):
Item_str_func(a,b)
{
maybe_null= TRUE;
}
Item_xml_str_func(Item *a, Item *b, Item *c):
Item_str_func(a,b,c)
{
maybe_null= TRUE;
}
void fix_length_and_dec();
String *parse_xml(String *raw_xml, String *parsed_xml_buf);
};