Changeset: ad0f123ef5da for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ad0f123ef5da Added Files: monetdb5/modules/mosaic/Tests/mosaic_dbl_with_nils.mal Branch: mosaic Log Message:
Forgot to add test file. diffs (truncated from 3016 to 300 lines): diff --git a/monetdb5/modules/mosaic/Tests/mosaic_dbl_with_nils.mal b/monetdb5/modules/mosaic/Tests/mosaic_dbl_with_nils.mal new file mode 100644 --- /dev/null +++ b/monetdb5/modules/mosaic/Tests/mosaic_dbl_with_nils.mal @@ -0,0 +1,3011 @@ +a:= bat.new(:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.01:dbl); +bat.append(a,9.99:dbl); +bat.append(a,10.02:dbl); +bat.append(a,9.98:dbl); +bat.append(a,10.10:dbl); +bat.append(a,9.90:dbl); +bat.append(a,nil:dbl); +bat.append(a,9.95:dbl); +bat.append(a,10.05:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.01:dbl); +bat.append(a,nil:dbl); +bat.append(a,9.99:dbl); +bat.append(a,10.02:dbl); +bat.append(a,92233720368547758.00:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.01:dbl); +bat.append(a,10.01:dbl); +bat.append(a,10.01:dbl); +bat.append(a,10.01:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,9.98:dbl); +bat.append(a,9.98:dbl); +bat.append(a,9.98:dbl); +bat.append(a,9.98:dbl); +bat.append(a,nil:dbl); +bat.append(a,9.99:dbl); +bat.append(a,9.99:dbl); +bat.append(a,9.99:dbl); +bat.append(a,9.99:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.10:dbl); +bat.append(a,10.10:dbl); +bat.append(a,10.10:dbl); +bat.append(a,10.10:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,nil:dbl); +bat.append(a,9.90:dbl); +bat.append(a,9.90:dbl); +bat.append(a,9.90:dbl); +bat.append(a,9.90:dbl); +bat.append(a,nil:dbl); +bat.append(a,9.95:dbl); +bat.append(a,9.95:dbl); +bat.append(a,9.95:dbl); +bat.append(a,9.95:dbl); +bat.append(a,10.05:dbl); +bat.append(a,10.05:dbl); +bat.append(a,10.05:dbl); +bat.append(a,10.05:dbl); +bat.append(a,9.98:dbl); +bat.append(a,10.10:dbl); +bat.append(a,9.90:dbl); +bat.append(a,9.95:dbl); +bat.append(a,10.05:dbl); +bat.append(a,92233720368547758.00:dbl); +bat.append(a,nil:dbl); +bat.append(a,10.02:dbl); +bat.append(a,10.00:dbl); +bat.append(a,10.01:dbl); +bat.append(a,9.99:dbl); +bat.append(a,10.02:dbl); +bat.append(a,9.98:dbl); +bat.append(a,10.10:dbl); +bat.append(a,9.90:dbl); +bat.append(a,9.95:dbl); +bat.append(a,10.05:dbl); +bat.append(a,10.02:dbl); +mosaic.compress(a,"{compression_type}"); +c:= mosaic.decompress(a); +eq := batcalc.==(a, c, true:bit); +io.print(eq); + +b:= bat.new(:dbl); +bat.append(b,10.00:dbl); +bat.append(b,10.01:dbl); +bat.append(b,9.99:dbl); +bat.append(b,nil:dbl); +bat.append(b,10.03:dbl); +bat.append(b,9.97:dbl); +bat.append(b,10.10:dbl); +bat.append(b,nil:dbl); +bat.append(b,nil:dbl); +bat.append(b,nil:dbl); +bat.append(b,9.91:dbl); +bat.append(b,9.92:dbl); +bat.append(b,9.93:dbl); +bat.append(b,10.00:dbl); + + +#materialized candidate list for column b +mcl_b:= bat.new(:oid); +bat.append(mcl_b,2:oid); +bat.append(mcl_b,4:oid); +bat.append(mcl_b,6:oid); +bat.append(mcl_b,8:oid); +bat.append(mcl_b,10:oid); +bat.append(mcl_b,12:oid); +bat.append(mcl_b,14:oid); +bat.append(mcl_b,16:oid); +bat.append(mcl_b,18:oid); +bat.append(mcl_b,20:oid); + +#dense candidate list for column b +dcl_b := bat.densebat(6:lng); + +#materialized candidate list for columns a/c +mcl_a:= bat.new(:oid); +bat.append(mcl_a,2:oid); +bat.append(mcl_a,4:oid); +bat.append(mcl_a,6:oid); +bat.append(mcl_a,8:oid); +bat.append(mcl_a,10:oid); +bat.append(mcl_a,12:oid); +bat.append(mcl_a,14:oid); +bat.append(mcl_a,16:oid); +bat.append(mcl_a,18:oid); +bat.append(mcl_a,20:oid); +bat.append(mcl_a,22:oid); +bat.append(mcl_a,24:oid); +bat.append(mcl_a,26:oid); +bat.append(mcl_a,28:oid); +bat.append(mcl_a,30:oid); +bat.append(mcl_a,32:oid); +bat.append(mcl_a,34:oid); +bat.append(mcl_a,36:oid); +bat.append(mcl_a,38:oid); +bat.append(mcl_a,40:oid); +bat.append(mcl_a,42:oid); +bat.append(mcl_a,44:oid); +bat.append(mcl_a,46:oid); +bat.append(mcl_a,48:oid); +bat.append(mcl_a,50:oid); +bat.append(mcl_a,52:oid); +bat.append(mcl_a,54:oid); +bat.append(mcl_a,56:oid); +bat.append(mcl_a,58:oid); +bat.append(mcl_a,60:oid); +bat.append(mcl_a,62:oid); +bat.append(mcl_a,64:oid); +bat.append(mcl_a,66:oid); +bat.append(mcl_a,68:oid); + +# partially covering dense set. +dcl_a := bat.densebat(35:lng); + +size_a:lng := aggr.count(a); +# fully covering dense set. +fdcl_a := bat.densebat(size_a); + +# projection with materialized candidate list +tsap := algebra.projection(mcl_a, a); +tsapc := mosaic.projection(mcl_a, c); +eq := batcalc.==(tsap, tsapc, true:bit); +io.print(eq); + +# projection with dense candidate list +tsap := algebra.projection(dcl_a, a); +tsapc := mosaic.projection(dcl_a, c); +eq := batcalc.==(tsap, tsapc, true:bit); +io.print(eq); + +# projection with fully covering dense candidate list +sap := algebra.projection(fdcl_a, a); +sapc := mosaic.projection(fdcl_a, c); +eq := batcalc.==(sap, sapc, true:bit); +io.print(eq); + +# (theta)selects and joins without candidate list for columns a/c. + +sa:= algebra.select(a,nil:dbl, nil:dbl,false,false,false); +sc:= mosaic.select (c,nil:dbl, nil:dbl,false,false,false); +eq := batcalc.==(sa, sc); +io.print(sa, sc, eq); + +sa:= algebra.select(a,nil:dbl, nil:dbl,false,false,true); +sc:= mosaic.select (c,nil:dbl, nil:dbl,false,false,true); +eq := batcalc.==(sa, sc); +io.print(sa, sc, eq); + +sa:= algebra.select(a,10.00:dbl, nil:dbl,false,false,false); +sc:= mosaic.select (c,10.00:dbl, nil:dbl,false,false,false); +tsa:= algebra.thetaselect(a,10.00:dbl, ">"); +tsc:= mosaic.thetaselect (c,10.00:dbl, ">"); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,nil:dbl, 10.00:dbl,false,false,false); +sc:= mosaic.select (c,nil:dbl, 10.00:dbl,false,false,false); +tsa:= algebra.thetaselect(a,10.00:dbl, "<"); +tsc:= mosaic.thetaselect (c,10.00:dbl, "<"); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,9.00:dbl, nil:dbl,false,false,false); +sc:= mosaic.select (c,9.00:dbl, nil:dbl,false,false,false); +tsa:= algebra.thetaselect(a,9.00:dbl, ">"); +tsc:= mosaic.thetaselect (c,9.00:dbl, ">"); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,nil:dbl, 9.00:dbl,false,false,false); +sc:= mosaic.select (c,nil:dbl, 9.00:dbl,false,false,false); +tsa:= algebra.thetaselect(a,9.00:dbl, "<"); +tsc:= mosaic.thetaselect (c,9.00:dbl, "<"); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,9.00:dbl, nil:dbl,true,false,false); +sc:= mosaic.select (c,9.00:dbl, nil:dbl,true,false,false); +tsa:= algebra.thetaselect(a,9.00:dbl, ">="); +tsc:= mosaic.thetaselect (c,9.00:dbl, ">="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,nil:dbl, 9.00:dbl,false,true,false); +sc:= mosaic.select (c,nil:dbl, 9.00:dbl,false,true,false); +tsa:= algebra.thetaselect(a,9.00:dbl, "<="); +tsc:= mosaic.thetaselect (c,9.00:dbl, "<="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,10.00:dbl, nil:dbl,true,false,false); +sc:= mosaic.select (c,10.00:dbl, nil:dbl,true,false,false); +tsa:= algebra.thetaselect(a,10.00:dbl, ">="); +tsc:= mosaic.thetaselect (c,10.00:dbl, ">="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,nil:dbl, 10.00:dbl,false,true,false); +sc:= mosaic.select (c,nil:dbl, 10.00:dbl,false,true,false); +tsa:= algebra.thetaselect(a,10.00:dbl, "<="); +tsc:= mosaic.thetaselect (c,10.00:dbl, "<="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,10.00:dbl, 10.00:dbl,true,true,false); +sc:= mosaic.select (c,10.00:dbl, 10.00:dbl,true,true,false); +tsa:= algebra.thetaselect(a,10.00:dbl, "=="); +tsc:= mosaic.thetaselect (c,10.00:dbl, "=="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,10.00:dbl, 10.00:dbl,true,true,true); +sc:= mosaic.select (c,10.00:dbl, 10.00:dbl,true,true,true); +tsa:= algebra.thetaselect(a,10.00:dbl, "!="); +tsc:= mosaic.thetaselect (c,10.00:dbl, "!="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); +io.print(sa, sc, tsa, tsc, eq1, eq2, eq3); + +sa:= algebra.select(a,10.03:dbl, 10.03:dbl,true,true,false); +sc:= mosaic.select (c,10.03:dbl, 10.03:dbl,true,true,false); +tsa:= algebra.thetaselect(a,10.03:dbl, "=="); +tsc:= mosaic.thetaselect (c,10.03:dbl, "=="); +eq1 := batcalc.==(sa, sc); +eq2 := batcalc.==(tsa, tsc); +eq3 := batcalc.==(sc, tsc); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list