Changeset: 5aad6a66e189 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5aad6a66e189
Added Files:
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_frame_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_frame_bit.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_linear_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_linear_bit.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_prefix_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_prefix_bit.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_raw_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_raw_bit.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_runlength_bit.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_bit.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_runlength_bit.stable.out
Modified Files:
        monetdb5/modules/mosaic/Tests/All
        monetdb5/modules/mosaic/mosaic_dictionary.c
        monetdb5/modules/mosaic/mosaic_frame.c
        monetdb5/modules/mosaic/mosaic_linear.c
        monetdb5/modules/mosaic/mosaic_prefix.c
        monetdb5/modules/mosaic/mosaic_raw.c
        monetdb5/modules/mosaic/mosaic_runlength.c
Branch: mosaic
Log Message:

raw, runlength, dictionary, frame and prefix support the bit/boolean type.


diffs (truncated from 23173 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
@@ -26,37 +26,43 @@ mosaic_linear_joins
 mosaic_prefix_joins
 mosaic_mix_joins
 
+mosaic_raw_bit
 mosaic_raw_lng
 mosaic_raw_oid
 mosaic_raw_date
 mosaic_raw_timestamp
 
+mosaic_runlength_bit
 mosaic_runlength_lng
 mosaic_runlength_oid
 mosaic_runlength_date
 mosaic_runlength_timestamp
 
+mosaic_dictionary_bit
 mosaic_dictionary_lng
 mosaic_dictionary_oid
 mosaic_dictionary_date
 mosaic_dictionary_timestamp
 
+mosaic_delta_oid
+mosaic_delta_lng
+mosaic_delta_date
+mosaic_delta_timestamp
+
+mosaic_linear_bit
 mosaic_linear_lng
 mosaic_linear_oid
 mosaic_linear_date
 mosaic_linear_timestamp
 
-mosaic_prefix_lng
-mosaic_prefix_oid
-mosaic_prefix_date
-mosaic_prefix_timestamp
-
+mosaic_frame_bit
 mosaic_frame_lng
 mosaic_frame_oid
 mosaic_frame_date
 mosaic_frame_timestamp
 
-mosaic_delta_oid
-mosaic_delta_lng
-mosaic_delta_date
-mosaic_delta_timestamp
+mosaic_prefix_bit
+mosaic_prefix_lng
+mosaic_prefix_oid
+mosaic_prefix_date
+mosaic_prefix_timestamp
diff --git a/monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.malC 
b/monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.malC
new file mode 100644
--- /dev/null
+++ b/monetdb5/modules/mosaic/Tests/mosaic_dictionary_bit.malC
@@ -0,0 +1,413 @@
+a:= bat.new(:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,false:bit);
+bat.append(a,true:bit);
+bat.append(a,true:bit);
+bat.append(a,false:bit);
+mosaic.compress(a,"dictionary");
+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,true:bit, false:bit,false,false,false);
+sc:= mosaic.select (c,true:bit, false:bit,false,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);
+
+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,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,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);
+
+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,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,true:bit, false:bit,false,true,false);
+sc:= mosaic.select (c,true:bit, false:bit,false,true,false);
+io.print(sa, sc);
+
+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,true:bit, false:bit,true,true,false);
+sc:= mosaic.select (c,true:bit, false:bit,true,true,false);
+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);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to