447 lines
17 KiB
Plaintext
447 lines
17 KiB
Plaintext
|
|
#This file is part of SECONDO.
|
||
|
|
#
|
||
|
|
#Copyright (C) 2004, University in Hagen, Department of Computer Science,
|
||
|
|
#Database Systems for New Applications.
|
||
|
|
#
|
||
|
|
#SECONDO is free software; you can redistribute it and/or modify
|
||
|
|
#it under the terms of the GNU General Public License as published by
|
||
|
|
#the Free Software Foundation; either version 2 of the License, or
|
||
|
|
#(at your option) any later version.
|
||
|
|
#
|
||
|
|
#SECONDO is distributed in the hope that it will be useful,
|
||
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
|
#GNU General Public License for more details.
|
||
|
|
#
|
||
|
|
#You should have received a copy of the GNU General Public License
|
||
|
|
#along with SECONDO; if not, write to the Free Software
|
||
|
|
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||
|
|
#
|
||
|
|
# NOTE: Due to a bug in Secondo (there is currently no support
|
||
|
|
# for the proper deletion of persistent objects) this test suite
|
||
|
|
# cannot properly clean up after a test. This means that after running this
|
||
|
|
# test one has to delete files by hand.
|
||
|
|
# Simply said: You should not use this currently
|
||
|
|
|
||
|
|
# a test for the btree algebra
|
||
|
|
# run with : TestRunner -c MyConfig.config <btreetest
|
||
|
|
# (TestRunner can be found in directory UserInterfaces)
|
||
|
|
|
||
|
|
# clean up what may be left over from e.g. a segfault
|
||
|
|
delete database btreetest;
|
||
|
|
|
||
|
|
#setup
|
||
|
|
create database btreetest;
|
||
|
|
open database btreetest;
|
||
|
|
|
||
|
|
(create tenTest : (rel(tuple((No int)))));
|
||
|
|
(update tenTest := ((rel(tuple((No int))))((1)(2)(3)(4)(5)(6)(7)(8)(9)(10))));
|
||
|
|
let tenNoInd = tenTest createbtree[No];
|
||
|
|
let tenNoInd2 = tenTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create twentyTest : (rel(tuple((No int)))));
|
||
|
|
(update twentyTest := ((rel(tuple((No int))))((1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20))));
|
||
|
|
let twentyNoInd = twentyTest createbtree[No];
|
||
|
|
let twentyNoInd2 = twentyTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create evenTest : (rel(tuple((No int)))));
|
||
|
|
(update evenTest := ((rel(tuple((No int))))((2)(4)(6)(8)(10)(12)(14)(16)(18)(20))));
|
||
|
|
let evenNoInd = evenTest createbtree[No];
|
||
|
|
let evenNoInd2 = evenTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create oddTest : (rel(tuple((No int)))));
|
||
|
|
(update oddTest := ((rel(tuple((No int))))((1)(3)(5)(7)(9)(11)(13)(15)(17)(19))));
|
||
|
|
let oddNoInd = oddTest createbtree[No];
|
||
|
|
let oddNoInd2 = oddTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create duplicatesTest : (rel(tuple((No int)))));
|
||
|
|
(update duplicatesTest := ((rel(tuple((No int))))((1)(1)(1)(6)(6)(7)(9)(9)(9)(9))));
|
||
|
|
let duplicatesNoInd = duplicatesTest createbtree[No];
|
||
|
|
let duplicatesNoInd2 = duplicatesTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create realTest : (rel(tuple((No real)))));
|
||
|
|
(update realTest := ((rel(tuple((No real))))((1.0)(3.0)(-6.0)(7.0)(9.0)(0.875)(-9.875)(-23.625))));
|
||
|
|
let realNoInd = realTest createbtree[No];
|
||
|
|
let realNoInd2 = realTest feed addtupleid sortby[No asc] createbtree[No];
|
||
|
|
|
||
|
|
(create EmployeeTest :
|
||
|
|
(rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(EName string)
|
||
|
|
(EmpNr int)
|
||
|
|
(DeptNr int)))));
|
||
|
|
|
||
|
|
(update EmployeeTest :=
|
||
|
|
((rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(EName string)
|
||
|
|
(EmpNr int)
|
||
|
|
(DeptNr int))))
|
||
|
|
(
|
||
|
|
("Smith" 12 3)
|
||
|
|
("Myers" 13 2)
|
||
|
|
("Bush" 11 1)
|
||
|
|
("Jones" 14 2)
|
||
|
|
("Smith" 16 1)
|
||
|
|
("Langdon" 9 3)
|
||
|
|
("Lambert" 4 3)
|
||
|
|
("Callahan" 1 2)
|
||
|
|
("Myers" 17 2)
|
||
|
|
("Simpson" 8 3))));
|
||
|
|
let empNameInd = EmployeeTest createbtree[EName];
|
||
|
|
let empNameInd2 = EmployeeTest feed addtupleid sortby[EName asc] createbtree[EName];
|
||
|
|
let empDeptInd = EmployeeTest createbtree[DeptNr];
|
||
|
|
let empDeptInd2 = EmployeeTest feed addtupleid sortby[DeptNr asc] createbtree[DeptNr];
|
||
|
|
|
||
|
|
(create DeptTest : (rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(Leader string)
|
||
|
|
(DeptNr int)))));
|
||
|
|
|
||
|
|
(update DeptTest := ((rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(Leader string)
|
||
|
|
(DeptNr int))))
|
||
|
|
(
|
||
|
|
("Smith" 3)
|
||
|
|
("Myers" 2)
|
||
|
|
("Bush" 1))));
|
||
|
|
|
||
|
|
|
||
|
|
(create StaedteTest : (rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(SName string)
|
||
|
|
(Bev int)
|
||
|
|
(PLZ int)
|
||
|
|
(Vorwahl string)
|
||
|
|
(Kennzeichen string)))));
|
||
|
|
|
||
|
|
(update StaedteTest := ((rel
|
||
|
|
(tuple
|
||
|
|
(
|
||
|
|
(SName string)
|
||
|
|
(Bev int)
|
||
|
|
(PLZ int)
|
||
|
|
(Vorwahl string)
|
||
|
|
(Kennzeichen string))))
|
||
|
|
(
|
||
|
|
("Aachen" 239000 5100 "0241" "AC")
|
||
|
|
("Berlin" 1859000 1000 "030" "B")
|
||
|
|
("Bielefeld" 300000 4800 "0521" "BI")
|
||
|
|
("Bochum" 382000 4630 "0234" "BO")
|
||
|
|
("Bonn" 291000 5300 "0228" "BN")
|
||
|
|
("Braunschweig" 248000 3300 "0531" "BS")
|
||
|
|
("Bremen" 526000 2800 "0421" "HB")
|
||
|
|
("Bremerhaven" 134000 2850 "0471" "HB")
|
||
|
|
("Darmstadt" 134000 6100 "06151" "DA")
|
||
|
|
("Dortmund" 572000 4600 "0231" "DO")
|
||
|
|
("Duesseldorf" 562000 4000 "0211" "D")
|
||
|
|
("Duisburg" 518000 4100 "0203" "DU")
|
||
|
|
("Erlangen" 100000 8520 "09131" "ER")
|
||
|
|
("Essen" 620000 4300 "0201" "E")
|
||
|
|
("Frankfurt(Main)" 595000 6000 "069" "F")
|
||
|
|
("Freiburg" 184000 7800 "0761" "FR")
|
||
|
|
("Gelsenkirchen" 285000 4650 "0209" "GE")
|
||
|
|
("Goettingen" 133000 3400 "0551" "GOE")
|
||
|
|
("Hagen" 206000 5800 "02331" "HA")
|
||
|
|
("Hamburg" 1580000 2000 "040" "HH")
|
||
|
|
("Hamm" 166000 4700 "02381" "HAM")
|
||
|
|
("Hannover" 508000 3000 "0511" "H")
|
||
|
|
("Heidelberg" 135000 6900 "06221" "HD")
|
||
|
|
("Heilbronn" 111000 7100 "07131" "HN")
|
||
|
|
("Hildesheim" 101000 3200 "05121" "HI")
|
||
|
|
("Karlsruhe" 268000 7500 "0721" "KA")
|
||
|
|
("Kassel" 184000 3500 "0561" "KS")
|
||
|
|
("Kiel" 246000 2300 "0431" "KI")
|
||
|
|
("Koblenz" 111000 5400 "0261" "KO")
|
||
|
|
("Koeln" 916000 5000 "0221" "K")
|
||
|
|
("Krefeld" 217000 4150 "02151" "KR")
|
||
|
|
("Leverkusen" 155000 5090 "0214" "LEV")
|
||
|
|
("Ludwigshafen" 154000 6700 "0621" "LU")
|
||
|
|
("Luebeck" 210000 2400 "0451" "HL")
|
||
|
|
("Mainz" 189000 6500 "06131" "MZ")
|
||
|
|
("Mannheim" 295000 6800 "0621" "MA")
|
||
|
|
("Moenchengladbach" 254000 4050 "02161" "MG")
|
||
|
|
("Muehlheim(Ruhr)" 172000 4330 "0208" "MH")
|
||
|
|
("Muenchen" 1267000 8000 "089" "M")
|
||
|
|
("Muenster" 270000 4400 "0251" "MS")
|
||
|
|
("Nuernberg" 465000 8500 "0911" "N")
|
||
|
|
("Offenbach(Main)" 107000 6050 "069" "OF")
|
||
|
|
("Oldenburg" 138000 2900 "0441" "OL")
|
||
|
|
("Osnabrueck" 153000 4500 "0541" "OS")
|
||
|
|
("Paderborn" 110000 4790 "05251" "PB")
|
||
|
|
("Pforzheim" 104000 7530 "07231" "PF")
|
||
|
|
("Recklinghausen" 118000 4350 "02361" "RE")
|
||
|
|
("Regensburg" 124000 8400 "0941" "R")
|
||
|
|
("Remscheid" 121000 5630 "02191" "RS")
|
||
|
|
("Saarbruecken" 187000 6600 "0681" "SB")
|
||
|
|
("Salzgitter" 106000 3320 "05341" "SZ")
|
||
|
|
("Siegen" 107000 5900 "0271" "SI")
|
||
|
|
("Solingen" 158000 5650 "0212" "SG")
|
||
|
|
("Stuttgart" 562000 7000 "0711" "S")
|
||
|
|
("Wiesbaden" 267000 6200 "06121" "WI")
|
||
|
|
("Wolfsburg" 122000 3180 "05361" "WOB")
|
||
|
|
("Wuerzburg" 128000 8700 "0931" "WUE")
|
||
|
|
("Wuppertal" 377000 5600 "0202" "W"))));
|
||
|
|
|
||
|
|
let staedteSNameInd = StaedteTest createbtree[SName];
|
||
|
|
let staedteSNameInd2 = StaedteTest feed addtupleid sortby[SName asc] createbtree[SName];
|
||
|
|
let staedteBevInd = StaedteTest createbtree[Bev];
|
||
|
|
let staedteBevInd2 = StaedteTest feed addtupleid sortby[Bev asc] createbtree[Bev];
|
||
|
|
let staedtePLZInd = StaedteTest createbtree[PLZ];
|
||
|
|
let staedtePLZInd2 = StaedteTest feed addtupleid sortby[PLZ asc] createbtree[PLZ];
|
||
|
|
let staedteVorwahlInd = StaedteTest createbtree[Vorwahl];
|
||
|
|
let staedteVorwahlInd2 = StaedteTest feed addtupleid sortby[Vorwahl asc] createbtree[Vorwahl];
|
||
|
|
let staedteKennzeichenInd = StaedteTest createbtree[Kennzeichen];
|
||
|
|
let staedteKennzeichenInd2 = StaedteTest feed addtupleid sortby[Kennzeichen asc] createbtree[Kennzeichen];
|
||
|
|
|
||
|
|
#testcase MaxTest
|
||
|
|
#yields (string "Luebeck")
|
||
|
|
query staedteSNameInd StaedteTest leftrange["M"] max[SName];
|
||
|
|
|
||
|
|
#testcase BTreeOutputIsSorted
|
||
|
|
#yields ((rel (tuple ((DeptNr int) (Anz int))))((1 2) (2 4) (3 4)))
|
||
|
|
query empDeptInd EmployeeTest leftrange[1000] groupby[DeptNr; Anz : group feed count] consume;
|
||
|
|
|
||
|
|
#testcase FilterByIndex
|
||
|
|
#yields (int 5)
|
||
|
|
query tenNoInd tenTest rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping1
|
||
|
|
#yields error
|
||
|
|
query staedteSNameInd StaedteTest rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping2
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping3
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd rightrange consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping4
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd rightrange[6, 6] consume count;
|
||
|
|
|
||
|
|
#testcase LeftRangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((1)(2)(3)(4)(5)))
|
||
|
|
query tenNoInd tenTest leftrange[5] consume;
|
||
|
|
|
||
|
|
#testcase LeftRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Aachen")("Berlin")("Bielefeld")))
|
||
|
|
query staedteSNameInd StaedteTest leftrange["Bielefeld"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase LeftRangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((-23.625)(-9.875)(-6.0)))
|
||
|
|
query realNoInd realTest leftrange[0.0] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((5)(6)(7)(8)(9)(10)))
|
||
|
|
query tenNoInd tenTest rightrange[5] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")("Wuerzburg")("Wuppertal")))
|
||
|
|
query staedteSNameInd StaedteTest rightrange["Wiesbadenappendix"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((0.875)(1.0)(3.0)(7.0)(9.0)))
|
||
|
|
query realNoInd realTest rightrange[0.0] consume;
|
||
|
|
|
||
|
|
#testcase RangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((5)(6)(7)))
|
||
|
|
query tenNoInd tenTest range[5, 7] consume;
|
||
|
|
|
||
|
|
#testcase RangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Hamm")("Hannover")("Heidelberg")("Heilbronn")))
|
||
|
|
query staedteSNameInd StaedteTest range["Hamf", "Heilbronn"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase RangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((0.875)(1.0)(3.0)))
|
||
|
|
query realNoInd realTest range[0.0, 6.5] consume;
|
||
|
|
|
||
|
|
#testcase FarRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")("Wuerzburg")("Wuppertal")))
|
||
|
|
query staedteSNameInd StaedteTest range["Wiesbadenappendix", "ZZZZ"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase EmptyRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd StaedteTest range[112133, 4345325] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyLeftRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd StaedteTest leftrange[1] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyRightRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd StaedteTest rightrange[999999] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyMatch1
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd StaedteTest exactmatch[9999999] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyMatch2
|
||
|
|
#yields (int 0)
|
||
|
|
query staedteSNameInd StaedteTest exactmatch["Achen"] consume count;
|
||
|
|
|
||
|
|
#testcase ExactMatch1
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")))
|
||
|
|
query staedteSNameInd StaedteTest exactmatch["Wolfsburg"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase ExactMatch2
|
||
|
|
#yields ((rel (tuple ((Bev int)))) ((239000)))
|
||
|
|
query staedteSNameInd StaedteTest exactmatch["Aachen"] project[Bev] consume;
|
||
|
|
|
||
|
|
#testcase duplicates1
|
||
|
|
#yields ((rel(tuple((No int))))((9)(9)(9)(9)))
|
||
|
|
query duplicatesNoInd duplicatesTest exactmatch[9] consume
|
||
|
|
|
||
|
|
#testcase duplicates2
|
||
|
|
#yields ((rel(tuple((No int))))((6)(6)(7)))
|
||
|
|
query duplicatesNoInd duplicatesTest range[5,8] consume
|
||
|
|
|
||
|
|
#testcase duplicates3
|
||
|
|
#yields ((rel(tuple((No int))))((1)(1)(1)(6)(6)(7)))
|
||
|
|
query duplicatesNoInd duplicatesTest leftrange[8] consume
|
||
|
|
|
||
|
|
#testcase duplicates4
|
||
|
|
#yields ((rel(tuple((No int))))((6)(6)(7)(9)(9)(9)(9)))
|
||
|
|
query duplicatesNoInd duplicatesTest rightrange[6] consume
|
||
|
|
|
||
|
|
#testcase ConcatTest
|
||
|
|
#yields ((rel(tuple((No int))))((1)(2)(3)(1)(2)(3)))
|
||
|
|
query tenNoInd tenTest leftrange[3] twentyNoInd twentyTest leftrange[3] concat consume;
|
||
|
|
|
||
|
|
#testcase ExtendTest
|
||
|
|
#yields ((rel(tuple((No int)(Mod2 int))))((1 1)(2 0)(3 1)))
|
||
|
|
query tenNoInd tenTest leftrange[3] extend[Mod2 : .No mod 2] consume;
|
||
|
|
|
||
|
|
#testcase MaxTest
|
||
|
|
#yields (string "Luebeck")
|
||
|
|
query staedteSNameInd2 StaedteTest leftrange["M"] max[SName];
|
||
|
|
|
||
|
|
#testcase BTreeOutputIsSorted
|
||
|
|
#yields ((rel (tuple ((DeptNr int) (Anz int))))((1 2) (2 4) (3 4)))
|
||
|
|
query empDeptInd2 EmployeeTest leftrange[1000] groupby[DeptNr; Anz : group feed count] consume;
|
||
|
|
|
||
|
|
#testcase FilterByIndex
|
||
|
|
#yields (int 5)
|
||
|
|
query tenNoInd2 tenTest rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping1
|
||
|
|
#yields error
|
||
|
|
query staedteSNameInd2 StaedteTest rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping2
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd2 rightrange[6] consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping3
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd2 rightrange consume count;
|
||
|
|
|
||
|
|
#testcase rightrangeTypeMapping4
|
||
|
|
#yields error
|
||
|
|
query StaedteTest staedteSNameInd2 rightrange[6, 6] consume count;
|
||
|
|
|
||
|
|
#testcase LeftRangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((1)(2)(3)(4)(5)))
|
||
|
|
query tenNoInd2 tenTest leftrange[5] consume;
|
||
|
|
|
||
|
|
#testcase LeftRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Aachen")("Berlin")("Bielefeld")))
|
||
|
|
query staedteSNameInd2 StaedteTest leftrange["Bielefeld"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase LeftRangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((-23.625)(-9.875)(-6.0)))
|
||
|
|
query realNoInd2 realTest leftrange[0.0] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((5)(6)(7)(8)(9)(10)))
|
||
|
|
query tenNoInd2 tenTest rightrange[5] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")("Wuerzburg")("Wuppertal")))
|
||
|
|
query staedteSNameInd2 StaedteTest rightrange["Wiesbadenappendix"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase RightRangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((0.875)(1.0)(3.0)(7.0)(9.0)))
|
||
|
|
query realNoInd2 realTest rightrange[0.0] consume;
|
||
|
|
|
||
|
|
#testcase RangeInt
|
||
|
|
#yields ((rel(tuple((No int))))((5)(6)(7)))
|
||
|
|
query tenNoInd2 tenTest range[5, 7] consume;
|
||
|
|
|
||
|
|
#testcase RangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Hamm")("Hannover")("Heidelberg")("Heilbronn")))
|
||
|
|
query staedteSNameInd2 StaedteTest range["Hamf", "Heilbronn"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase RangeReal
|
||
|
|
#yields ((rel(tuple((No real))))((0.875)(1.0)(3.0)))
|
||
|
|
query realNoInd2 realTest range[0.0, 6.5] consume;
|
||
|
|
|
||
|
|
#testcase FarRangeString
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")("Wuerzburg")("Wuppertal")))
|
||
|
|
query staedteSNameInd2 StaedteTest range["Wiesbadenappendix", "ZZZZ"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase EmptyRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd2 StaedteTest range[112133, 4345325] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyLeftRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd2 StaedteTest leftrange[1] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyRightRangeInt
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd2 StaedteTest rightrange[999999] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyMatch1
|
||
|
|
#yields (int 0)
|
||
|
|
query staedtePLZInd2 StaedteTest exactmatch[9999999] consume count;
|
||
|
|
|
||
|
|
#testcase EmptyMatch2
|
||
|
|
#yields (int 0)
|
||
|
|
query staedteSNameInd2 StaedteTest exactmatch["Achen"] consume count;
|
||
|
|
|
||
|
|
#testcase ExactMatch1
|
||
|
|
#yields ((rel(tuple((SName string))))(("Wolfsburg")))
|
||
|
|
query staedteSNameInd2 StaedteTest exactmatch["Wolfsburg"] project[SName] consume;
|
||
|
|
|
||
|
|
#testcase ExactMatch2
|
||
|
|
#yields ((rel (tuple ((Bev int)))) ((239000)))
|
||
|
|
query staedteSNameInd2 StaedteTest exactmatch["Aachen"] project[Bev] consume;
|
||
|
|
|
||
|
|
#testcase duplicates1
|
||
|
|
#yields ((rel(tuple((No int))))((9)(9)(9)(9)))
|
||
|
|
query duplicatesNoInd2 duplicatesTest exactmatch[9] consume
|
||
|
|
|
||
|
|
#testcase duplicates2
|
||
|
|
#yields ((rel(tuple((No int))))((6)(6)(7)))
|
||
|
|
query duplicatesNoInd2 duplicatesTest range[5,8] consume
|
||
|
|
|
||
|
|
#testcase duplicates3
|
||
|
|
#yields ((rel(tuple((No int))))((1)(1)(1)(6)(6)(7)))
|
||
|
|
query duplicatesNoInd2 duplicatesTest leftrange[8] consume
|
||
|
|
|
||
|
|
#testcase duplicates4
|
||
|
|
#yields ((rel(tuple((No int))))((6)(6)(7)(9)(9)(9)(9)))
|
||
|
|
query duplicatesNoInd2 duplicatesTest rightrange[6] consume
|
||
|
|
|
||
|
|
#testcase ConcatTest
|
||
|
|
#yields ((rel(tuple((No int))))((1)(2)(3)(1)(2)(3)))
|
||
|
|
query tenNoInd2 tenTest leftrange[3] twentyNoInd2 twentyTest leftrange[3] concat consume;
|
||
|
|
|
||
|
|
#testcase ExtendTest
|
||
|
|
#yields ((rel(tuple((No int)(Mod2 int))))((1 1)(2 0)(3 1)))
|
||
|
|
query tenNoInd2 tenTest leftrange[3] extend[Mod2 : .No mod 2] consume;
|
||
|
|
|
||
|
|
#teardown
|
||
|
|
close database;
|
||
|
|
delete database btreetest;
|
||
|
|
|