diff options
author | bar@mysql.com <> | 2006-03-09 11:53:56 +0400 |
---|---|---|
committer | bar@mysql.com <> | 2006-03-09 11:53:56 +0400 |
commit | 8c2fb88a8f2190ff6c26cc75c3d1925ab018b234 (patch) | |
tree | d112af938f97483403d7e55fadd1bb01f3c65407 /mysql-test | |
parent | 481dc5b7e5ee385472a0b9bb7d8e187acd42c84e (diff) | |
parent | f516d1f9f21ed4ed7d3db8318553cfba22250316 (diff) | |
download | mariadb-git-8c2fb88a8f2190ff6c26cc75c3d1925ab018b234.tar.gz |
Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new/
into mysql.com:/usr/home/bar/mysql-5.1-new.b16318
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/xml.result | 36 | ||||
-rw-r--r-- | mysql-test/t/xml.test | 15 |
2 files changed, 51 insertions, 0 deletions
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result index 18516277c3c..bb7a158593c 100644 --- a/mysql-test/r/xml.result +++ b/mysql-test/r/xml.result @@ -561,6 +561,42 @@ A B C select extractvalue('<A_B>A</A_B>','/A_B'); extractvalue('<A_B>A</A_B>','/A_B') A +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[position()]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[position()]') +B1 B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]') +B1 B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()]') +B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()-1]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()-1]') +B1 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=1]'); +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]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=2]') +B1 B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]') +B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)]') +B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)-1]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)-1]') +B1 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=1]'); +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]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=2]') +B1 B2 +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]'); +extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]') +B2 select extractvalue('<a>Jack</a>','/a[contains(../a,"J")]'); extractvalue('<a>Jack</a>','/a[contains(../a,"J")]') Jack diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index f7ce987f29d..831867937e4 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -256,6 +256,21 @@ select extractvalue('<a>A<b>B<c>C</c></b></a>','/a/descendant-or-self::*'); 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()]'); +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=last()]'); +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]'); +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[last()=position()]'); +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]'); +select extractvalue('<a>A<b>B1</b><b>B2</b></a>','/a/b[count(.)=position()]'); +# # Bug#16316: XML: extractvalue() is case-sensitive with contains() # select extractvalue('<a>Jack</a>','/a[contains(../a,"J")]'); |