Changeset: f9811e8cfc1c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f9811e8cfc1c Added Files: monetdb5/modules/mosaic/Tests/mosaic_prefix_date.malC monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.err monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.out monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.malC monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.err monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.out monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.malC monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.err monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.out monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.malC monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.err monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.out Modified Files: monetdb5/modules/mosaic/Tests/All monetdb5/modules/mosaic/mosaic_prefix.c Branch: mosaic Log Message:
Clean up prefix compression code and add more tests for it. diffs (193 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 @@ -50,6 +50,11 @@ mosaic_linear_oid mosaic_linear_date mosaic_linear_timestamp +mosaic_prefix_lng +mosaic_prefix_oid +mosaic_prefix_date +mosaic_prefix_timestamp + mosaic_frame_lng mosaic_frame_oid mosaic_frame_date diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.malC b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.malC copy from monetdb5/modules/mosaic/Tests/mosaic_frame_date.malC copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_date.malC --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.malC +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.malC @@ -29,7 +29,7 @@ bat.append(a,"2014-09-20":date); bat.append(a,"2014-09-25":date); bat.append(a,"2014-10-05":date); bat.append(a,"2014-10-02":date); -mosaic.compress(a,"frame"); +mosaic.compress(a,"prefix"); c:= mosaic.decompress(a); eq := batcalc.==(a, c); io.print(a, c, eq); diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.err b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.err copy from monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.err copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.err --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.err +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.err @@ -1,4 +1,4 @@ -stderr of test 'mosaic_frame_date` in directory 'monetdb5/modules/mosaic` itself: +stderr of test 'mosaic_prefix_date` in directory 'monetdb5/modules/mosaic` itself: # 17:20:28 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.out b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.out copy from monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.out copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.out --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_date.stable.out +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_date.stable.out @@ -1,4 +1,4 @@ -stdout of test 'mosaic_frame_date` in directory 'monetdb5/modules/mosaic` itself: +stdout of test 'mosaic_prefix_date` in directory 'monetdb5/modules/mosaic` itself: # 17:20:28 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.malC b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.malC copy from monetdb5/modules/mosaic/Tests/mosaic_frame_lng.malC copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.malC --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.malC +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.malC @@ -29,7 +29,7 @@ bat.append(a,990:lng); bat.append(a,995:lng); bat.append(a,1005:lng); bat.append(a,1002:lng); -mosaic.compress(a,"frame"); +mosaic.compress(a,"prefix"); c:= mosaic.decompress(a); io.print(a, c); diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.err b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.err copy from monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.err copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.err --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.err +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.err @@ -1,4 +1,4 @@ -stderr of test 'mosaic_frame_lng` in directory 'monetdb5/modules/mosaic` itself: +stderr of test 'mosaic_prefix_lng` in directory 'monetdb5/modules/mosaic` itself: # 13:19:01 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.out b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.out copy from monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.out copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.out --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_lng.stable.out +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_lng.stable.out @@ -1,4 +1,4 @@ -stdout of test 'mosaic_frame_lng` in directory 'monetdb5/modules/mosaic` itself: +stdout of test 'mosaic_prefix_lng` in directory 'monetdb5/modules/mosaic` itself: # 13:19:01 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.malC b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.malC copy from monetdb5/modules/mosaic/Tests/mosaic_frame_oid.malC copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.malC --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.malC +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.malC @@ -29,7 +29,7 @@ bat.append(a,990:oid); bat.append(a,995:oid); bat.append(a,1005:oid); bat.append(a,1002:oid); -mosaic.compress(a,"frame"); +mosaic.compress(a,"prefix"); c:= mosaic.decompress(a); io.print(a, c); diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.err b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.err copy from monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.err copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.err --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.err +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.err @@ -1,4 +1,4 @@ -stderr of test 'mosaic_frame_oid` in directory 'monetdb5/modules/mosaic` itself: +stderr of test 'mosaic_prefix_oid` in directory 'monetdb5/modules/mosaic` itself: # 13:19:01 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.out b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.out copy from monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.out copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.out --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_oid.stable.out +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_oid.stable.out @@ -1,4 +1,4 @@ -stdout of test 'mosaic_frame_oid` in directory 'monetdb5/modules/mosaic` itself: +stdout of test 'mosaic_prefix_oid` in directory 'monetdb5/modules/mosaic` itself: # 13:19:01 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.malC b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.malC copy from monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.malC copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.malC --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.malC +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.malC @@ -29,7 +29,7 @@ bat.append(a,"2014-08-14 12:09:50":times bat.append(a,"2014-08-14 12:09:55":timestamp); bat.append(a,"2014-08-14 12:10:05":timestamp); bat.append(a,"2014-08-14 12:10:02":timestamp); -mosaic.compress(a,"frame"); +mosaic.compress(a,"prefix"); c:= mosaic.decompress(a); eq := batcalc.==(a, c); io.print(a, c, eq); diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.err b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.err copy from monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.err copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.err --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.err +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.err @@ -1,4 +1,4 @@ -stderr of test 'mosaic_frame_timestamp` in directory 'monetdb5/modules/mosaic` itself: +stderr of test 'mosaic_prefix_timestamp` in directory 'monetdb5/modules/mosaic` itself: # 17:20:28 > diff --git a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.out b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.out copy from monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.out copy to monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.out --- a/monetdb5/modules/mosaic/Tests/mosaic_frame_timestamp.stable.out +++ b/monetdb5/modules/mosaic/Tests/mosaic_prefix_timestamp.stable.out @@ -1,4 +1,4 @@ -stdout of test 'mosaic_frame_timestamp` in directory 'monetdb5/modules/mosaic` itself: +stdout of test 'mosaic_prefix_timestamp` in directory 'monetdb5/modules/mosaic` itself: # 17:20:28 > diff --git a/monetdb5/modules/mosaic/mosaic_prefix.c b/monetdb5/modules/mosaic/mosaic_prefix.c --- a/monetdb5/modules/mosaic/mosaic_prefix.c +++ b/monetdb5/modules/mosaic/mosaic_prefix.c @@ -23,9 +23,9 @@ #include "gdk_bitvector.h" bool MOStypes_prefix(BAT* b) { - switch(ATOMbasetype(getBatType(b->ttype))){ + switch(b->ttype){ + case TYPE_bit: return true; case TYPE_bte: return true; - case TYPE_bit: return true; case TYPE_sht: return true; case TYPE_int: return true; case TYPE_lng: return true; @@ -35,14 +35,10 @@ bool MOStypes_prefix(BAT* b) { #ifdef HAVE_HGE case TYPE_hge: return true; #endif - case TYPE_str: - switch(b->twidth){ - case 1: return true; - case 2: return true; - case 4: return true; - case 8: return true; - } - break; + default: + if (b->ttype == TYPE_date) {return true;} // Will be mapped to int + if (b->ttype == TYPE_daytime) {return true;} // Will be mapped to lng + if (b->ttype == TYPE_timestamp) {return true;} // Will be mapped to lng } return false; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list