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