|
Implementations | ||||||||||||||||
Tests | BaseX 7.7 XQ30 |
EMC/xDB xDB_main_r2411365 XQ30 |
Saxon-EE 9.5.1.1 XP20 |
Saxon-EE 9.5.1.1 XQ10 |
Saxon-EE 9.5.1.1 XP30 |
Saxon-EE 9.5.1.1 XQ30 |
Saxon-EE 9.5.1.4 XQX30 (QT3 v1.1) |
XmlPrime 3.0.0.0 XP30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQ30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQX30 (QT3 vCVS) |
XmlPrime 3.0.0.0 XP20 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQX10 (QT3 vCVS) |
XmlPrime 3.0.0.0 XQ10 (QT3 vCVS) |
Zorba 2.9 XQ10 (QT3 vCVS) |
Zorba 2.9 XQ30 (QT3 vCVS) |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
app-UseCaseR | 18/18 | 18/18 | 0/0 | 18/18 | 0/0 | 18/18 | 18/18 | 0/0 | 18/18 | 18/18 | 0/0 | 18/18 | 18/18 | 18/18 | 18/18 | 3/15 |
rdb-queries-results-q1[+]
X rdb-queries-results-q1: <result> { for $i in $items//item_tuple where $i/start_date <= xs:date("1999-01-31") and $i/end_date >= xs:date("1999-01-31") and contains(exactly-one($i/description), "Bicycle") order by $i/itemno return <item_tuple> { $i/itemno } { $i/description } </item_tuple> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q2[+]
X rdb-queries-results-q2: <result> { for $i in $items//item_tuple let $b := $bids//bid_tuple[itemno = $i/itemno] where contains(exactly-one($i/description), "Bicycle") order by $i/itemno return <item_tuple> { $i/itemno } { $i/description } <high_bid>{ max($b/bid) }</high_bid> </item_tuple> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q3[+]
X rdb-queries-results-q3: <result> { for $u in $users//user_tuple for $i in $items//item_tuple where $u/rating > "C" and $i/reserve_price > 1000 and $i/offered_by = $u/userid return <warning> { $u/name } { $u/rating } { $i/description } { $i/reserve_price } </warning> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q4[+]
X rdb-queries-results-q4: <result> { for $i in $items//item_tuple where empty ($bids//bid_tuple[itemno = $i/itemno]) return <no_bid_item> { $i/itemno } { $i/description } </no_bid_item> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q5[+]
X rdb-queries-results-q5: <result> { unordered ( for $seller in $users//user_tuple, $buyer in $users//user_tuple, $item in $items//item_tuple, $highbid in $bids//bid_tuple where $seller/name = "Tom Jones" and $seller/userid = $item/offered_by and contains(exactly-one($item/description), "Bicycle") and $item/itemno = $highbid/itemno and $highbid/userid = $buyer/userid and $highbid/bid = max( $bids//bid_tuple [itemno = $item/itemno]/bid ) return <jones_bike> { $item/itemno } { $item/description } <high_bid>{ $highbid/bid }</high_bid> <high_bidder>{ $buyer/name }</high_bidder> </jones_bike> ) } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q6[+]
X rdb-queries-results-q6: <result> { for $item in $items//item_tuple let $b := $bids//bid_tuple[itemno = $item/itemno] let $z := max($b/bid) where exactly-one($item/reserve_price) * 2 < $z return <successful_item> { $item/itemno } { $item/description } { $item/reserve_price } <high_bid>{$z }</high_bid> </successful_item> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q7[+]
X rdb-queries-results-q7: let $allbikes := $items//item_tuple [contains(exactly-one(description), "Bicycle") or contains(exactly-one(description), "Tricycle")] let $bikebids := $bids//bid_tuple[itemno = $allbikes/itemno] return <high_bid> { max($bikebids/bid) } </high_bid> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q8[+]
X rdb-queries-results-q8: let $item := $items//item_tuple [end_date >= xs:date("1999-03-01") and end_date <= xs:date("1999-03-31")] return <item_count> { count($item) } </item_count> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q9[+]
X rdb-queries-results-q9: <result> { let $end_dates := $items//item_tuple/end_date for $m in distinct-values( for $e in $end_dates return month-from-date($e)) let $item := $items//item_tuple[year-from-date(exactly-one(end_date)) = 1999 and month-from-date(exactly-one(end_date)) = $m] order by $m return <monthly_result> <month>{ $m }</month> <item_count>{ count($item) }</item_count> </monthly_result> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q10[+]
X rdb-queries-results-q10: <result> { for $highbid in $bids//bid_tuple, $user in $users//user_tuple where $user/userid = $highbid/userid and $highbid/bid = max($bids//bid_tuple[itemno=$highbid/itemno]/bid) order by exactly-one($highbid/itemno) return <high_bid> { $highbid/itemno } { $highbid/bid } <bidder>{ $user/name/text() }</bidder> </high_bid> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q11[+]
X rdb-queries-results-q11: let $highbid := max($bids//bid_tuple/bid) return <result> { for $item in $items//item_tuple, $b in $bids//bid_tuple[itemno = $item/itemno] where $b/bid = $highbid return <expensive_item> { $item/itemno } { $item/description } <high_bid>{ $highbid }</high_bid> </expensive_item> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q12[+]
X rdb-queries-results-q12: declare function local:bid_summary() as element()* { for $i in distinct-values($bids//itemno) let $b := $bids//bid_tuple[itemno = $i] return <bid_count> <itemno>{ $i }</itemno> <nbids>{ count($b) }</nbids> </bid_count> }; <result> { let $bid_counts := local:bid_summary(), $maxbids := max($bid_counts/nbids), $maxitemnos := $bid_counts[nbids = $maxbids] for $item in $items//item_tuple, $bc in $bid_counts where $bc/nbids = $maxbids and $item/itemno = $bc/itemno return <popular_item> { $item/itemno } { $item/description } <bid_count>{ $bc/nbids/text() }</bid_count> </popular_item> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q13[+]
X rdb-queries-results-q13: <result> { for $uid in distinct-values($bids//userid), $u in $users//user_tuple[userid = $uid] let $b := $bids//bid_tuple[userid = $uid] order by exactly-one($u/userid) return <bidder> { $u/userid } { $u/name } <bidcount>{ count($b) }</bidcount> <avgbid>{ avg($b/bid) }</avgbid> </bidder> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q14[+]
X rdb-queries-results-q14: <result> { for $i in distinct-values($items//itemno) let $b := $bids//bid_tuple[itemno = $i] let $avgbid := avg($b/bid) where count($b) >= 3 order by $avgbid descending return <popular_item> <itemno>{ $i }</itemno> <avgbid>{ $avgbid }</avgbid> </popular_item> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q15[+]
X rdb-queries-results-q15: <result> { for $u in $users//user_tuple let $b := $bids//bid_tuple[userid=$u/userid and bid>=100] where count($b) > 1 return <big_spender>{ $u/name/text() }</big_spender> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q16[+]
X rdb-queries-results-q16: <result> { for $u in $users//user_tuple let $b := $bids//bid_tuple[userid = $u/userid] order by exactly-one($u/userid) return <user> { $u/userid } { $u/name } { if (empty($b)) then <status>inactive</status> else <status>active</status> } </user> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q17[+]
X rdb-queries-results-q17: <frequent_bidder> { for $u in $users//user_tuple where every $item in $items//item_tuple satisfies some $b in $bids//bid_tuple satisfies ($item/itemno = $b/itemno and $u/userid = $b/userid) return $u/name } </frequent_bidder> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass | |
rdb-queries-results-q18[+]
X rdb-queries-results-q18: <result> { for $u in $users//user_tuple order by $u/name return <user> { $u/name } { for $b in distinct-values($bids//bid_tuple [userid = $u/userid]/itemno) for $i in $items//item_tuple[itemno = $b] let $descr := $i/description/text() order by exactly-one($descr) return <bid_on_item>{ $descr }</bid_on_item> } </user> } </result> |
pass | pass | pass | n/a
notXP20 |
pass | n/a
notXP30 |
pass | n/a | pass | pass | n/a | pass | pass | pass | pass |