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

Reply via email to