mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-27691: make working view-protocol
Tests with checking metadata or that cannot be run with the view-protocol are excluded from --view-protocol. For tests that do not allow the use of an additional connection, the util connection is disabled with "--disable_service_connection". Also cases with bugs for --view-protocol are disabled.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user