summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2006-04-11 11:43:51 +0200
committerunknown <msvensson@neptunus.(none)>2006-04-11 11:43:51 +0200
commit08dd4932ce3d3ef14342b5b7ffd81eb8be4a66c2 (patch)
treef56e3883065aaecd3588e2b613352c5a402b6fe1 /mysql-test
parentc8f24984dcb843d14f37d5e8946b19dbda1334c7 (diff)
parent7fc5eaadb18799b74000333da7c6a07ff5017503 (diff)
downloadmariadb-git-08dd4932ce3d3ef14342b5b7ffd81eb8be4a66c2.tar.gz
Merge bk-internal:/home/bk/mysql-5.1-new
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/xml.result23
-rw-r--r--mysql-test/t/xml.test20
2 files changed, 43 insertions, 0 deletions
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index 52f80000015..2946c56da6b 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -615,3 +615,26 @@ select extractValue('<e>1</e>','last()');
ERROR HY000: XPATH syntax error: ''
select extractValue('<e><a>1</a></e>','/e/');
ERROR HY000: XPATH syntax error: ''
+set names utf8;
+select extractValue('<Ñ><r>r</r></Ñ>','/Ñ/r');
+extractValue('<Ñ><r>r</r></Ñ>','/Ñ/r')
+r
+select extractValue('<r><Ñ>Ñ</Ñ></r>','/r/Ñ');
+extractValue('<r><Ñ>Ñ</Ñ></r>','/r/Ñ')
+select extractValue('<Ñ r="r"/>','/Ñ/@r');
+extractValue('<Ñ r="r"/>','/Ñ/@r')
+r
+select extractValue('<r Ñ="Ñ"/>','/r/@Ñ');
+extractValue('<r Ñ="Ñ"/>','/r/@Ñ')
+DROP PROCEDURE IF EXISTS p2;
+CREATE PROCEDURE p2 ()
+BEGIN
+DECLARE p LONGTEXT CHARACTER SET UTF8 DEFAULT '<Ñ><r>A</r></Ñ>';
+SELECT EXTRACTVALUE(p,'/Ñ/r');
+END//
+CALL p2();
+EXTRACTVALUE(p,'/Ñ/r')
+A
+DROP PROCEDURE p2;
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index af3ec2d827e..4bc76287fe2 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -295,3 +295,23 @@ select extractValue('<e>1</e>','last()');
--error 1105
select extractValue('<e><a>1</a></e>','/e/');
+#
+# Bug#16233: XML: ExtractValue() fails with special characters
+#
+set names utf8;
+select extractValue('<Ñ><r>r</r></Ñ>','/Ñ/r');
+select extractValue('<r><Ñ>Ñ</Ñ></r>','/r/Ñ');
+select extractValue('<Ñ r="r"/>','/Ñ/@r');
+select extractValue('<r Ñ="Ñ"/>','/r/@Ñ');
+--disable_warnings
+DROP PROCEDURE IF EXISTS p2;
+--enable_warnings
+DELIMITER //;
+CREATE PROCEDURE p2 ()
+BEGIN
+ DECLARE p LONGTEXT CHARACTER SET UTF8 DEFAULT '<Ñ><r>A</r></Ñ>';
+ SELECT EXTRACTVALUE(p,'/Ñ/r');
+END//
+DELIMITER ;//
+CALL p2();
+DROP PROCEDURE p2;