diff options
Diffstat (limited to 'mysql-test/main/xml.test')
-rw-r--r-- | mysql-test/main/xml.test | 71 |
1 files changed, 68 insertions, 3 deletions
diff --git a/mysql-test/main/xml.test b/mysql-test/main/xml.test index 3c7ecf6d060..f042c4371ce 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 |