summaryrefslogtreecommitdiff
path: root/mysql-test/main/xml.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/xml.test')
-rw-r--r--mysql-test/main/xml.test71
1 files changed, 68 insertions, 3 deletions
diff --git a/mysql-test/main/xml.test b/mysql-test/main/xml.test
index b567f03a431..7f20ab31e53 100644
--- a/mysql-test/main/xml.test
+++ b/mysql-test/main/xml.test
@@ -166,11 +166,14 @@ select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2=position()]');
select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[3=position()]');
select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2>=position()]');
select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[2<=position()]');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractValue('<a b="b1" b="b2" b="b3"/>','/a/@b[position()=3 or position()=2]');
SELECT extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=0]');
SELECT extractValue('<a>a<b>a1<c>c1</c></b><b>a2</b></a>','/a/b[count(c)=1]');
select extractValue('<a>a1<b ba="1" ba="2">b1</b><b>b2</b>4</a>','/a/b[sum(@ba)=3]');
+--enable_view_protocol
select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[1]');
select extractValue('<a><b>b1</b><b>b2</b></a>','/a/b[boolean(1)]');
@@ -213,8 +216,11 @@ select extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")]');
select extractValue(@xml,'/a/@b[contains(.,"1")][contains(.,"2")][2]');
SET @xml='<a>a1<b>b1<c>c1</c>b2</b>a2</a>';
+#enable after fix MDEV-27871
+--disable_view_protocol
select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','+++++++++');
select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1>+++++++++</c1>');
+--enable_view_protocol
select UpdateXML('<a>a1<b>b1<c>c1</c>b2</b>a2</a>','/a/b/c','<c1/>');
SET @xml='<a><b>bb</b></a>';
@@ -271,7 +277,10 @@ select extractvalue('<a><b>b</b><b!>b!</b!></a>','//b!');
#
select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant::*');
select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/self::*');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant-or-self::*');
+--enable_view_protocol
# Bug #16320 XML: extractvalue() won't accept names containing underscores
#
select extractvalue('<A_B>A</A_B>','/A_B');
@@ -280,24 +289,36 @@ select extractvalue('<A_B>A</A_B>','/A_B');
# Bug#16318: XML: extractvalue() incorrectly returns last() = 1
#
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[position()]');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]');
+--enable_view_protocol
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()-1]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=1]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=2]');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]');
+--enable_view_protocol
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)-1]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=1]');
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=2]');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]');
+--enable_view_protocol
#
# Bug#16316: XML: extractvalue() is case-sensitive with contains()
#
select extractvalue('<a>Jack</a>','/a[contains(../a,"J")]');
select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]');
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractvalue('<a>Jack</a>','/a[contains(../a,"j")]' collate latin1_bin);
select extractvalue('<a>Jack</a>' collate latin1_bin,'/a[contains(../a,"j")]');
+--enable_view_protocol
#
# Bug#18285: ExtractValue not returning character
@@ -309,12 +330,16 @@ select ExtractValue('<tag1><![CDATA[test]]></tag1>','/tag1');
# Bug#18201: XML: ExtractValue works even if the xml fragment
# is not well-formed xml
#
+
+#view protocol generates additional warning
+--disable_view_protocol
select extractValue('<a>a','/a');
select extractValue('<a>a<','/a');
select extractValue('<a>a</','/a');
select extractValue('<a>a</a','/a');
select extractValue('<a>a</a></b>','/a');
select extractValue('<a b=>a</a>','/a');
+--enable_view_protocol
#
# Bug #18171 XML: ExtractValue: the XPath position()
@@ -358,22 +383,33 @@ DROP PROCEDURE p2;
# Bug#18170: XML: ExtractValue():
# XPath expression can't use QNames (colon in names)
#
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractValue('<ns:element xmlns:ns="myns"/>','count(ns:element)');
select extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element');
select extractValue('<ns:element xmlns:ns="myns">a</ns:element>','/ns:element/@xmlns:ns');
-
+--enable_view_protocol
#
# Bug#20795 extractvalue() won't accept names containing a dot (.)
#
+#enable after fix MDEV-27871
+--disable_view_protocol
select extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/foo.bar');
select extractValue('<foo><foo.bar>Data</foo.bar><something>Otherdata</something></foo>','/foo/something');
+--enable_view_protocol
#
# Bug#20854 XML functions: wrong result in ExtractValue
#
+#enable after fix MDEV-27871
+--disable_view_protocol
--error 1105
select extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','/zot/tim0/02');
select extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','//*');
+--enable_view_protocol
+
+#view protocol generates additional warning
+--disable_view_protocol
# dot and dash are bad identtifier start character
select extractValue('<.>test</.>','//*');
select extractValue('<->test</->','//*');
@@ -383,6 +419,7 @@ select extractValue('<:>test</:>','//*');
select extractValue('<_>test</_>','//*');
# dot, dash, underscore and semicolon are good identifier middle characters
select extractValue('<x.-_:>test</x.-_:>','//*');
+--enable_view_protocol
#
# Bug#22823 gt and lt operators appear to be
@@ -421,9 +458,13 @@ select ExtractValue(@xml, "/entry[(50<=pt)]/id");
# Test nodetypes in node name context
#
select ExtractValue('<a><b><Text>test</Text></b></a>','/a/b/Text');
+#enable after fix MDEV-27871
+--disable_view_protocol
select ExtractValue('<a><b><comment>test</comment></b></a>','/a/b/comment');
select ExtractValue('<a><b><node>test</node></b></a>','/a/b/node');
select ExtractValue('<a><b><processing-instruction>test</processing-instruction></b></a>','/a/b/processing-instruction');
+--enable_view_protocol
+
#
# Test keywords in node name contexts
#
@@ -439,6 +480,8 @@ select ExtractValue('<a><div:div>test</div:div></a>', '/a/div:div');
# Test axis names in node name context
#
select ExtractValue('<a><ancestor>test</ancestor></a>', '/a/ancestor');
+#enable after fix MDEV-27871
+--disable_view_protocol
select ExtractValue('<a><ancestor-or-self>test</ancestor-or-self></a>', '/a/ancestor-or-self');
select ExtractValue('<a><attribute>test</attribute></a>', '/a/attribute');
select ExtractValue('<a><child>test</child></a>', '/a/child');
@@ -450,6 +493,7 @@ select ExtractValue('<a><namespace>test</namespace></a>', '/a/namespace');
select ExtractValue('<a><parent>test</parent></a>', '/a/parent');
select ExtractValue('<a><preceding>test</preceding></a>', '/a/preceding');
select ExtractValue('<a><preceding-sibling>test</preceding-sibling></a>', '/a/preceding-sibling');
+--enable_view_protocol
select ExtractValue('<a><self>test</self></a>', '/a/self');
#
@@ -572,8 +616,12 @@ SELECT ExtractValue(@xml, 'html/body');
# These two documents will fail.
# Quoted strings are not allowed in regular tags
#
+#view protocol generates additional warning
+--disable_view_protocol
+
SELECT ExtractValue('<xml "xxx" "yyy">CharData</xml>', '/xml');
SELECT ExtractValue('<xml xxx "yyy">CharData</xml>', '/xml');
+--enable_view_protocol
#
# Bug#42495 updatexml: Assertion failed: xpath->context, file .\item_xmlfunc.cc, line 2507
@@ -603,7 +651,8 @@ INSERT INTO t1 (id, xml) VALUES
(15, '<?xml version="1.0"?><bla name="blubb"></bla>'),
(14, '<xml version="kaputt">');
-
+#enable after fix MDEV-28535
+--disable_view_protocol
SELECT
extractvalue( xml, '/bla/@name' ),
extractvalue( xml, '/bla/@name' )
@@ -614,6 +663,7 @@ SELECT
UpdateXML(xml, '/bla/@name', 'test'),
UpdateXML(xml, '/bla/@name', 'test')
FROM t1 ORDER BY t1.id;
+--enable_view_protocol
DROP TABLE t1;
@@ -643,14 +693,20 @@ SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1));
--echo #
--echo # Bug #44332 my_xml_scan reads behind the end of buffer
--echo #
+
+#view protocol generates additional warning
+--disable_view_protocol
SELECT UPDATEXML(CONVERT(_latin1'<' USING utf8),'1','1');
SELECT UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1');
+--enable_view_protocol
--echo #
--echo # Bug#11766725 (bug#59901): EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
--echo #
+#view protocol generates additional warning
+--disable_view_protocol
SELECT ExtractValue(CONVERT('<\"', BINARY(10)), 1);
-
+--enable_view_protocol
--echo End of 5.1 tests
--echo #
@@ -660,8 +716,11 @@ SELECT ExtractValue(CONVERT('<\"', BINARY(10)), 1);
--echo #
--echo # MDEV-5338 XML parser accepts malformed data
--echo #
+#view protocol generates additional warning
+--disable_view_protocol
SELECT ExtractValue('<a>xxx</c>','/a/b');
SELECT ExtractValue('<a><b>xxx</c></a>','/a/b');
+--enable_view_protocol
--echo #
--echo # End of 5.3 tests
@@ -673,8 +732,11 @@ SELECT ExtractValue('<a><b>xxx</c></a>','/a/b');
--echo #
--echo # Bug#58175 xml functions read initialized bytes when conversions happen
--echo #
+#view protocol generates additional warning
+--disable_view_protocol
SET NAMES latin1;
SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0);
+--enable_view_protocol
--echo #
--echo # Bug#12375190: UPDATEXML CRASHES ON SIMPLE INPUTS
@@ -689,7 +751,10 @@ SELECT ExtractValue('<a><a>aa</a><b>bb</b></a>','(a)/a|(a)/b');
# MDEV-5689 ExtractValue(xml, 'substring(/x,/y)') crashes
# MySQL bug#12428404 MYSQLD.EXE CRASHES WHEN EXTRACTVALUE() IS CALLED WITH MALFORMED XPATH EXP
#
+#enable after fix MDEV-27871
+--disable_view_protocol
SELECT ExtractValue('<a><b>abc</b><c>2</c><d>1</d></a>','substring(/a/b,..)');
+--enable_view_protocol
--echo #
--echo # Bug#62429 XML: ExtractValue, UpdateXML max arg length 127 chars