Changeset: 5d81dd5e6023 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5d81dd5e6023
Added Files:
        monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.mal
        monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.runlength.MAL.py
        monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.runlength.options5
        
monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.runlength.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.runlength.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_date_with_nils_2.mal
        monetdb5/modules/mosaic/Tests/mosaic_date_with_nils_2.runlength.MAL.py
        monetdb5/modules/mosaic/Tests/mosaic_date_with_nils_2.runlength.options5
        
monetdb5/modules/mosaic/Tests/mosaic_date_with_nils_2.runlength.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_date_with_nils_2.runlength.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_lng_with_nils_2.mal
        monetdb5/modules/mosaic/Tests/mosaic_lng_with_nils_2.runlength.MAL.py
        monetdb5/modules/mosaic/Tests/mosaic_lng_with_nils_2.runlength.options5
        
monetdb5/modules/mosaic/Tests/mosaic_lng_with_nils_2.runlength.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_lng_with_nils_2.runlength.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_oid_with_nils_2.mal
        monetdb5/modules/mosaic/Tests/mosaic_oid_with_nils_2.runlength.MAL.py
        monetdb5/modules/mosaic/Tests/mosaic_oid_with_nils_2.runlength.options5
        
monetdb5/modules/mosaic/Tests/mosaic_oid_with_nils_2.runlength.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_oid_with_nils_2.runlength.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_timestamp_with_nils_2.mal
        
monetdb5/modules/mosaic/Tests/mosaic_timestamp_with_nils_2.runlength.MAL.py
        
monetdb5/modules/mosaic/Tests/mosaic_timestamp_with_nils_2.runlength.options5
        
monetdb5/modules/mosaic/Tests/mosaic_timestamp_with_nils_2.runlength.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_timestamp_with_nils_2.runlength.stable.out
Modified Files:
        monetdb5/modules/mosaic/Tests/All
        monetdb5/modules/mosaic/mosaic.c
        monetdb5/modules/mosaic/mosaic_runlength.c
        monetdb5/modules/mosaic/mosaic_runlength.h
Branch: mosaic
Log Message:

Nil semantics plus tests for runlength encoding.


diffs (truncated from 41897 to 300 lines):

diff --git a/monetdb5/modules/mosaic/Tests/All 
b/monetdb5/modules/mosaic/Tests/All
--- a/monetdb5/modules/mosaic/Tests/All
+++ b/monetdb5/modules/mosaic/Tests/All
@@ -46,6 +46,11 @@ mosaic_lng_2.runlength
 mosaic_oid_2.runlength
 mosaic_date_2.runlength
 mosaic_timestamp_2.runlength
+mosaic_bit_with_nils_2.runlength
+mosaic_lng_with_nils_2.runlength
+mosaic_oid_with_nils_2.runlength
+mosaic_date_with_nils_2.runlength
+mosaic_timestamp_with_nils_2.runlength
 
 mosaic_bit_1.var
 mosaic_lng_1.var
diff --git a/monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.mal 
b/monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.mal
new file mode 100644
--- /dev/null
+++ b/monetdb5/modules/mosaic/Tests/mosaic_bit_with_nils_2.mal
@@ -0,0 +1,451 @@
+a:= bat.new(:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,nil:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+mosaic.compress(a,"{compression_type}");
+c:= mosaic.decompress(a);
+io.print(a, c);
+
+sa:= algebra.select(a,nil:bit, nil:bit,false,false,false);
+sc:= mosaic.select (c,nil:bit, nil:bit,false,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, nil:bit,false,false,false);
+sc:= mosaic.select (c,true:bit, nil:bit,false,false,false);
+tsa:= algebra.thetaselect(a,true:bit, ">");
+tsc:= mosaic.thetaselect (c,true:bit, ">");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, nil:bit,false,false,false);
+sc:= mosaic.select (c,false:bit, nil:bit,false,false,false);
+tsa:= algebra.thetaselect(a,false:bit, ">");
+tsc:= mosaic.thetaselect (c,false:bit, ">");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,nil:bit, false:bit,false,false,false);
+sc:= mosaic.select (c,nil:bit, false:bit,false,false,false);
+tsa:= algebra.thetaselect(a,false:bit, "<");
+tsc:= mosaic.thetaselect (c,false:bit, "<");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, false:bit,false,false,false);
+sc:= mosaic.select (c,false:bit, false:bit,false,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, true:bit,false,false,false);
+sc:= mosaic.select (c,nil:bit, true:bit,false,false,false);
+tsa:= algebra.thetaselect(a,true:bit, "<");
+tsc:= mosaic.thetaselect (c,true:bit, "<");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,true:bit, true:bit,false,false,false);
+sc:= mosaic.select (c,true:bit, true:bit,false,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, true:bit,false,false,false);
+sc:= mosaic.select (c,false:bit, true:bit,false,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, nil:bit,true,false,false);
+sc:= mosaic.select (c,nil:bit, nil:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, nil:bit,true,false,false);
+sc:= mosaic.select (c,true:bit, nil:bit,true,false,false);
+tsa:= algebra.thetaselect(a,true:bit, ">=");
+tsc:= mosaic.thetaselect (c,true:bit, ">=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, nil:bit,true,false,false);
+sc:= mosaic.select (c,false:bit, nil:bit,true,false,false);
+tsa:= algebra.thetaselect(a,false:bit, ">=");
+tsc:= mosaic.thetaselect (c,false:bit, ">=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,nil:bit, false:bit,true,false,false);
+sc:= mosaic.select (c,nil:bit, false:bit,true,false,false);
+tsa:= algebra.thetaselect(a,false:bit, "<");
+tsc:= mosaic.thetaselect (c,false:bit, "<");
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,true,false,false);
+sc:= mosaic.select (c,false:bit, false:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, true:bit,true,false,false);
+sc:= mosaic.select (c,nil:bit, true:bit,true,false,false);
+tsa:= algebra.thetaselect(a,true:bit, "<");
+tsc:= mosaic.thetaselect (c,true:bit, "<");
+io.print(sa, sc);
+
+# Should give empty result
+sa:= algebra.select(a,false:bit, false:bit,false,true,false);
+sc:= mosaic.select (c,false:bit, false:bit,false,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,true,false,false);
+sc:= mosaic.select (c,false:bit, false:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,false,false,false);
+sc:= mosaic.select (c,false:bit, false:bit,false,false,false);
+io.print(sa, sc);
+
+# Should give all non-nil value
+sa:= algebra.select(a,false:bit, false:bit,false,true,true);
+sc:= mosaic.select (c,false:bit, false:bit,false,true,true);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,true,false,true);
+sc:= mosaic.select (c,false:bit, false:bit,true,false,true);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,false,false,true);
+sc:= mosaic.select (c,false:bit, false:bit,false,false,true);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, true:bit,true,false,false);
+sc:= mosaic.select (c,true:bit, true:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, false:bit,true,false,false);
+sc:= mosaic.select (c,true:bit, false:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, false:bit,true,false,true);
+sc:= mosaic.select (c,true:bit, false:bit,true,false,true);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, true:bit,true,false,false);
+sc:= mosaic.select (c,false:bit, true:bit,true,false,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, nil:bit,false,true,false);
+sc:= mosaic.select (c,nil:bit, nil:bit,false,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, nil:bit,false,true,false);
+sc:= mosaic.select (c,true:bit, nil:bit,false,true,false);
+tsa:= algebra.thetaselect(a,true:bit, ">");
+tsc:= mosaic.thetaselect (c,true:bit, ">");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, nil:bit,false,true,false);
+sc:= mosaic.select (c,false:bit, nil:bit,false,true,false);
+tsa:= algebra.thetaselect(a,false:bit, ">");
+tsc:= mosaic.thetaselect (c,false:bit, ">");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,nil:bit, false:bit,false,true,false);
+sc:= mosaic.select (c,nil:bit, false:bit,false,true,false);
+tsa:= algebra.thetaselect(a,false:bit, "<=");
+tsc:= mosaic.thetaselect (c,false:bit, "<=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, false:bit,false,true,false);
+sc:= mosaic.select (c,false:bit, false:bit,false,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, true:bit,false,true,false);
+sc:= mosaic.select (c,nil:bit, true:bit,false,true,false);
+tsa:= algebra.thetaselect(a,true:bit, "<=");
+tsc:= mosaic.thetaselect (c,true:bit, "<=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,true:bit, true:bit,false,true,false);
+sc:= mosaic.select (c,true:bit, true:bit,false,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, true:bit,false,true,false);
+sc:= mosaic.select (c,false:bit, true:bit,false,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, nil:bit,true,true,false);
+sc:= mosaic.select (c,true:bit, nil:bit,true,true,false);
+tsa:= algebra.thetaselect(a,true:bit, ">=");
+tsc:= mosaic.thetaselect (c,true:bit, ">=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,false:bit, nil:bit,true,true,false);
+sc:= mosaic.select (c,false:bit, nil:bit,true,true,false);
+tsa:= algebra.thetaselect(a,false:bit, ">=");
+tsc:= mosaic.thetaselect (c,false:bit, ">=");
+io.print(sa, sc, tsa, tsc);
+
+sa:= algebra.select(a,nil:bit, false:bit,true,true,false);
+sc:= mosaic.select (c,nil:bit, false:bit,true,true,false);
+tsa:= algebra.thetaselect(a,false:bit, "<=");
+tsc:= mosaic.thetaselect (c,false:bit, "<=");
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, false:bit,true,true,false);
+sc:= mosaic.select (c,false:bit, false:bit,true,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, true:bit,true,true,false);
+sc:= mosaic.select (c,nil:bit, true:bit,true,true,false);
+tsa:= algebra.thetaselect(a,true:bit, "<=");
+tsc:= mosaic.thetaselect (c,true:bit, "<=");
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, true:bit,true,true,false);
+sc:= mosaic.select (c,true:bit, true:bit,true,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,false:bit, true:bit,true,true,false);
+sc:= mosaic.select (c,false:bit, true:bit,true,true,false);
+io.print(sa, sc);
+
+sa:= algebra.select(a,nil:bit, nil:bit,false,false,true);
+sc:= mosaic.select (c,nil:bit, nil:bit,false,false,true);
+io.print(sa, sc);
+
+sa:= algebra.select(a,true:bit, nil:bit,false,false,true);
+sc:= mosaic.select (c,true:bit, nil:bit,false,false,true);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to