From 0b6c4bb34f99b8f4023fd0bef25a1b714f96b699 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Wed, 2 Oct 2013 15:04:07 +0400 Subject: MDEV-4928 Merge collation customization improvements Merging the following MySQL-5.6 changes: - WL#5624: Collation customization improvements http://dev.mysql.com/worklog/task/?id=5624 - WL#4013: Unicode german2 collation http://dev.mysql.com/worklog/task/?id=4013 - Bug#62429 XML: ExtractValue, UpdateXML max arg length 127 chars http://bugs.mysql.com/bug.php?id=62429 (required by WL#5624) --- mysql-test/t/xml.test | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'mysql-test/t/xml.test') diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index b36bd2067cc..cdc6bd6f91e 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -673,6 +673,35 @@ SELECT UPDATEXML('x','(a)/a',''); SELECT UPDATEXML('x','(a)//a',''); SELECT ExtractValue('aabb','(a)/a|(a)/b'); + +--echo # +--echo # Bug#62429 XML: ExtractValue, UpdateXML max arg length 127 chars +--echo # +CREATE TABLE t1 (id INT AUTO_INCREMENT, txt VARCHAR(1000), PRIMARY KEY(id)); + +INSERT INTO t1 (txt) VALUES +(CONCAT('<', REPEAT('a',127), '>127')), +(CONCAT('<', REPEAT('a',128), '>128')), +(CONCAT('<', REPEAT('a',63), '><', REPEAT('b',63), '>63/63')), +(CONCAT('<', REPEAT('a',63), '><', REPEAT('b',64), '>63/64')); + +--vertical_results +SELECT + txt, + EXTRACTVALUE(txt, CONCAT('/', REPEAT('a', 127))) as a127, + EXTRACTVALUE(txt, CONCAT('/', REPEAT('a', 128))) as a128, + EXTRACTVALUE(txt, CONCAT('//', REPEAT('b', 63))) as a63b63, + EXTRACTVALUE(txt, CONCAT('//', REPEAT('b', 64))) as a63b64 +FROM t1; +SELECT UPDATEXML(txt, CONCAT('//', REPEAT('b', 63)), '63/63+') FROM t1; +DROP TABLE t1; + +# This will call my_str_realloc_mysqld() +CREATE TABLE t1 (a TEXT); +INSERT INTO t1 VALUES (CONCAT('<', REPEAT('b',128),'>b128<',REPEAT('c',512),'>c512')); +SELECT ExtractValue (a, CONCAT('//',REPEAT('c',512))) AS c512 FROM t1; +DROP TABLE t1; + --echo # --echo # End of 5.5 tests --echo # -- cgit v1.2.1