Changeset: f24dfb0a62eb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f24dfb0a62eb
Modified Files:
monetdb5/modules/mal/mosaic.c
monetdb5/modules/mal/mosaic_delta.c
monetdb5/modules/mal/mosaic_dictionary.c
monetdb5/modules/mal/mosaic_frame.c
monetdb5/modules/mal/mosaic_linear.c
monetdb5/modules/mal/mosaic_literal.c
monetdb5/modules/mal/mosaic_prefix.c
monetdb5/modules/mal/mosaic_runlength.c
monetdb5/modules/mal/querylog.c
sql/test/mosaic/Tests/compression.sql
sql/test/mosaic/Tests/compression.stable.out
sql/test/mosaic/Tests/compressionRLE.sql
sql/test/mosaic/Tests/compressionRLE.stable.out
sql/test/mosaic/Tests/session_exit.sql
sql/test/mosaic/Tests/session_exit.stable.out
sql/test/mosaic/Tests/session_init.sql
sql/test/mosaic/Tests/session_init.stable.out
sql/test/mosaic/Tests/xqueries.sql
sql/test/mosaic/Tests/xqueries.stable.out
sql/test/mosaic/Tests/xqueries_delta.sql
sql/test/mosaic/Tests/xqueries_delta.stable.out
sql/test/mosaic/Tests/xqueries_rle.sql
sql/test/mosaic/Tests/xqueries_rle.stable.out
Branch: mosaic
Log Message:
Add extra tests.
- sum() does not work in sf-1
- remove some to-be-removed types.
diffs (truncated from 1508 to 300 lines):
diff --git a/monetdb5/modules/mal/mosaic.c b/monetdb5/modules/mal/mosaic.c
--- a/monetdb5/modules/mal/mosaic.c
+++ b/monetdb5/modules/mal/mosaic.c
@@ -371,7 +371,6 @@ MOScompressInternal(Client cntxt, bat *r
case TYPE_hge:
#endif
case TYPE_oid:
- case TYPE_wrd:
case TYPE_flt:
case TYPE_dbl:
case TYPE_str:
@@ -1389,7 +1388,6 @@ MOSanalyseInternal(Client cntxt, int thr
case TYPE_sht:
case TYPE_int:
case TYPE_lng:
- case TYPE_wrd:
case TYPE_oid:
case TYPE_flt:
case TYPE_dbl:
@@ -1399,6 +1397,7 @@ MOSanalyseInternal(Client cntxt, int thr
case TYPE_str:
mnstr_printf(cntxt->fdout,"#%d\t%-8s\t%s\t"BUNFMT"\t", bid,
BBP_physical(bid), type, BATcount(b));
MOScompressInternal(cntxt, &ret, &bid, task,TRUE);
+ MOSdestroy(BBPdescriptor(bid));
if( ret != b->batCacheid)
BBPdecref(ret, TRUE);
break;
@@ -1406,6 +1405,7 @@ MOSanalyseInternal(Client cntxt, int thr
if( b->ttype == TYPE_timestamp || b->ttype == TYPE_date ||
b->ttype == TYPE_daytime){
mnstr_printf(cntxt->fdout,"#%d\t%-8s\t%s\t"BUNFMT"\t",
bid, BBP_physical(bid), type, BATcount(b));
MOScompressInternal(cntxt, &ret, &bid, task,TRUE);
+ MOSdestroy(BBPdescriptor(bid));
if( ret != b->batCacheid)
BBPdecref(ret, TRUE);
} else
@@ -1726,8 +1726,10 @@ MOSoptimize(Client cntxt, MalBlkPtr mb,
for( j=0; j < i; j++)
if (pattern[j] == k && task->ratio == xf[j])
break;
- if( j<i)
+ if( j<i){
+ MOSdestroy(BBPdescriptor(bid));
continue;
+ }
xf[i] = task->ratio;
diff --git a/monetdb5/modules/mal/mosaic_delta.c
b/monetdb5/modules/mal/mosaic_delta.c
--- a/monetdb5/modules/mal/mosaic_delta.c
+++ b/monetdb5/modules/mal/mosaic_delta.c
@@ -39,7 +39,6 @@ MOSadvance_delta(Client cntxt, MOStask t
case TYPE_sht: task->blk = (MosaicBlk)( ((char*) blk)+
wordaligned(sizeof(sht) + MosaicBlkSize + MOSgetCnt(blk)-1,sht)); break ;
case TYPE_int: task->blk = (MosaicBlk)( ((char*) blk)+
wordaligned(sizeof(int) + MosaicBlkSize + MOSgetCnt(blk)-1,int)); break ;
case TYPE_oid: task->blk = (MosaicBlk)( ((char*) blk)+
wordaligned(sizeof(oid) + MosaicBlkSize + MOSgetCnt(blk)-1,oid)); break ;
- case TYPE_wrd: task->blk = (MosaicBlk)( ((char*) blk)+
wordaligned(sizeof(wrd) + MosaicBlkSize + MOSgetCnt(blk)-1,wrd)); break ;
case TYPE_lng: task->blk = (MosaicBlk)( ((char*) blk)+
wordaligned(sizeof(lng) + MosaicBlkSize + MOSgetCnt(blk)-1,lng)); break ;
//case TYPE_flt: case TYPE_dbl: to be looked into.
#ifdef HAVE_HGE
@@ -85,7 +84,6 @@ MOSlayout_delta(Client cntxt, MOStask ta
case TYPE_sht: output = wordaligned(sizeof(sht) + MosaicBlkSize +
MOSgetCnt(blk)-1,sht); break ;
case TYPE_int: output = wordaligned(sizeof(int) + MosaicBlkSize +
MOSgetCnt(blk)-1,int); break ;
case TYPE_oid: output = wordaligned(sizeof(oid) + MosaicBlkSize +
MOSgetCnt(blk)-1,oid); break ;
- case TYPE_wrd: output = wordaligned(sizeof(wrd) + MosaicBlkSize +
MOSgetCnt(blk)-1,wrd); break ;
case TYPE_lng: output = wordaligned(sizeof(lng) + MosaicBlkSize +
MOSgetCnt(blk)-1,lng); break ;
//case TYPE_flt: case TYPE_dbl: to be looked into.
#ifdef HAVE_HGE
@@ -149,7 +147,6 @@ MOSestimate_delta(Client cntxt, MOStask
//case TYPE_bte: case TYPE_bit: no compression achievable
case TYPE_sht: Estimate_delta(sht, (delta < -127 || delta
>127)); break;
case TYPE_oid: Estimate_delta(sht, (delta > 255)); break;
- case TYPE_wrd: Estimate_delta(wrd, (delta < -127 || delta
>127)); break;
case TYPE_lng: Estimate_delta(lng, (delta < -127 || delta
>127)); break;
#ifdef HAVE_HGE
case TYPE_hge: Estimate_delta(hge, (delta < -127 || delta
>127)); break;
@@ -233,7 +230,6 @@ MOScompress_delta(Client cntxt, MOStask
case TYPE_sht: DELTAcompress(sht,(delta < -127 || delta >127)); break;
case TYPE_int: DELTAcompress(int,(delta < -127 || delta >127)); break;
case TYPE_oid: DELTAcompress(oid,(delta > 255)); break;
- case TYPE_wrd: DELTAcompress(wrd,(delta < -127 || delta >127)); break;
#ifdef HAVE_HGE
case TYPE_hge: DELTAcompress(hge,(delta < -127 || delta >127)); break;
#endif
@@ -297,7 +293,6 @@ MOSdecompress_delta(Client cntxt, MOStas
case TYPE_sht: DELTAdecompress(sht); break;
case TYPE_int: DELTAdecompress(int); break;
case TYPE_oid: DELTAdecompress(oid); break;
- case TYPE_wrd: DELTAdecompress(wrd); break;
#ifdef HAVE_HGE
case TYPE_hge: DELTAdecompress(hge); break;
#endif
@@ -417,7 +412,6 @@ MOSsubselect_delta(Client cntxt, MOStas
case TYPE_sht: subselect_delta(sht); break;
case TYPE_lng: subselect_delta(lng); break;
case TYPE_oid: subselect_delta(oid); break;
- case TYPE_wrd: subselect_delta(wrd); break;
#ifdef HAVE_HGE
case TYPE_hge: subselect_delta(hge); break;
#endif
@@ -635,7 +629,6 @@ MOSthetasubselect_delta(Client cntxt, M
case TYPE_sht: thetasubselect_delta(sht); break;
case TYPE_lng: thetasubselect_delta(lng); break;
case TYPE_oid: thetasubselect_delta(oid); break;
- case TYPE_wrd: thetasubselect_delta(wrd); break;
#ifdef HAVE_HGE
case TYPE_hge: thetasubselect_delta(hge); break;
#endif
@@ -729,7 +722,6 @@ MOSprojection_delta(Client cntxt, MOSta
case TYPE_sht: projection_delta(sht); break;
case TYPE_lng: projection_delta(lng); break;
case TYPE_oid: projection_delta(oid); break;
- case TYPE_wrd: projection_delta(wrd); break;
#ifdef HAVE_HGE
case TYPE_hge: projection_delta(hge); break;
#endif
@@ -796,7 +788,6 @@ MOSjoin_delta(Client cntxt, MOStask tas
case TYPE_sht: join_delta(sht); break;
case TYPE_lng: join_delta(lng); break;
case TYPE_oid: join_delta(oid); break;
- case TYPE_wrd: join_delta(wrd); break;
#ifdef HAVE_HGE
case TYPE_hge: join_delta(hge); break;
#endif
diff --git a/monetdb5/modules/mal/mosaic_dictionary.c
b/monetdb5/modules/mal/mosaic_dictionary.c
--- a/monetdb5/modules/mal/mosaic_dictionary.c
+++ b/monetdb5/modules/mal/mosaic_dictionary.c
@@ -64,8 +64,6 @@ MOSdump_dictionaryInternal(char *buf, si
case TYPE_hge:
snprintf(buf,len,"%.40g", (dbl) ((hge*) val)[i]); break;
#endif
- case TYPE_wrd:
- snprintf(buf,len,LLFMT, (lng)((wrd*) val)[i]); break;
case TYPE_flt:
snprintf(buf,len,"%f", ((flt*) val)[i]); break;
case TYPE_dbl:
@@ -219,7 +217,6 @@ MOScreatedictionary(Client cntxt, MOStas
case TYPE_sht: makeDict(sht); break;
case TYPE_lng: makeDict(lng); break;
case TYPE_oid: makeDict(oid); break;
- case TYPE_wrd: makeDict(wrd); break;
case TYPE_flt: makeDict(flt); break;
case TYPE_dbl: makeDict(dbl); break;
#ifdef HAVE_HGE
@@ -284,7 +281,6 @@ MOSestimate_dictionary(Client cntxt, MOS
case TYPE_sht: estimateDict(sht); break;
case TYPE_lng: estimateDict(lng); break;
case TYPE_oid: estimateDict(oid); break;
- case TYPE_wrd: estimateDict(wrd); break;
case TYPE_flt: estimateDict(flt); break;
case TYPE_dbl: estimateDict(dbl); break;
#ifdef HAVE_HGE
@@ -379,7 +375,6 @@ MOScompress_dictionary(Client cntxt, MOS
case TYPE_sht: DICTcompress(sht); break;
case TYPE_lng: DICTcompress(lng); break;
case TYPE_oid: DICTcompress(oid); break;
- case TYPE_wrd: DICTcompress(wrd); break;
case TYPE_flt: DICTcompress(flt); break;
case TYPE_dbl: DICTcompress(dbl); break;
#ifdef HAVE_HGE
@@ -462,7 +457,6 @@ MOSdecompress_dictionary(Client cntxt, M
case TYPE_sht: DICTdecompress(sht); break;
case TYPE_lng: DICTdecompress(lng); break;
case TYPE_oid: DICTdecompress(oid); break;
- case TYPE_wrd: DICTdecompress(wrd); break;
case TYPE_flt: DICTdecompress(flt); break;
case TYPE_dbl: DICTdecompress(dbl); break;
#ifdef HAVE_HGE
@@ -594,7 +588,6 @@ MOSsubselect_dictionary(Client cntxt, M
case TYPE_sht: subselect_dictionary(sht); break;
case TYPE_lng: subselect_dictionary(lng); break;
case TYPE_oid: subselect_dictionary(oid); break;
- case TYPE_wrd: subselect_dictionary(wrd); break;
case TYPE_flt: subselect_dictionary(flt); break;
case TYPE_dbl: subselect_dictionary(dbl); break;
#ifdef HAVE_HGE
@@ -823,7 +816,6 @@ MOSthetasubselect_dictionary(Client cntx
case TYPE_sht: thetasubselect_dictionary(sht); break;
case TYPE_lng: thetasubselect_dictionary(lng); break;
case TYPE_oid: thetasubselect_dictionary(oid); break;
- case TYPE_wrd: thetasubselect_dictionary(wrd); break;
case TYPE_flt: thetasubselect_dictionary(flt); break;
case TYPE_dbl: thetasubselect_dictionary(dbl); break;
#ifdef HAVE_HGE
@@ -950,7 +942,6 @@ MOSprojection_dictionary(Client cntxt,
case TYPE_sht: projection_dictionary(sht); break;
case TYPE_lng: projection_dictionary(lng); break;
case TYPE_oid: projection_dictionary(oid); break;
- case TYPE_wrd: projection_dictionary(wrd); break;
case TYPE_flt: projection_dictionary(flt); break;
case TYPE_dbl: projection_dictionary(dbl); break;
#ifdef HAVE_HGE
@@ -1009,7 +1000,6 @@ MOSjoin_dictionary(Client cntxt, MOStas
case TYPE_sht: join_dictionary(sht); break;
case TYPE_lng: join_dictionary(lng); break;
case TYPE_oid: join_dictionary(oid); break;
- case TYPE_wrd: join_dictionary(wrd); break;
case TYPE_flt: join_dictionary(flt); break;
case TYPE_dbl: join_dictionary(dbl); break;
#ifdef HAVE_HGE
diff --git a/monetdb5/modules/mal/mosaic_frame.c
b/monetdb5/modules/mal/mosaic_frame.c
--- a/monetdb5/modules/mal/mosaic_frame.c
+++ b/monetdb5/modules/mal/mosaic_frame.c
@@ -69,8 +69,6 @@ MOSdump_frameInternal(char *buf, size_t
case TYPE_hge:
snprintf(buf,len,"%.40g", (dbl) ((hge*) val)[i]); break;
#endif
- case TYPE_wrd:
- snprintf(buf,len,LLFMT, (lng)((wrd*) val)[i]); break;
case TYPE_flt:
snprintf(buf,len,"%f", ((flt*) val)[i]); break;
case TYPE_dbl:
@@ -224,7 +222,6 @@ MOScreateframeDictionary(Client cntxt, M
case TYPE_sht: makeFrame(sht); break;
case TYPE_lng: makeFrame(lng); break;
case TYPE_oid: makeFrame(oid); break;
- case TYPE_wrd: makeFrame(wrd); break;
case TYPE_flt: makeFrame(flt); break;
case TYPE_dbl: makeFrame(dbl); break;
#ifdef HAVE_HGE
@@ -291,7 +288,6 @@ MOSestimate_frame(Client cntxt, MOStask
case TYPE_sht: estimateFrame(sht); break;
case TYPE_lng: estimateFrame(lng); break;
case TYPE_oid: estimateFrame(oid); break;
- case TYPE_wrd: estimateFrame(wrd); break;
case TYPE_flt: estimateFrame(flt); break;
case TYPE_dbl: estimateFrame(dbl); break;
#ifdef HAVE_HGE
@@ -389,7 +385,6 @@ MOScompress_frame(Client cntxt, MOStask
case TYPE_sht: FRAMEcompress(sht); break;
case TYPE_lng: FRAMEcompress(lng); break;
case TYPE_oid: FRAMEcompress(oid); break;
- case TYPE_wrd: FRAMEcompress(wrd); break;
case TYPE_flt: FRAMEcompress(flt); break;
case TYPE_dbl: FRAMEcompress(dbl); break;
#ifdef HAVE_HGE
@@ -478,7 +473,6 @@ MOSdecompress_frame(Client cntxt, MOStas
case TYPE_sht: FRAMEdecompress(sht); break;
case TYPE_int: FRAMEdecompress(int); break;
case TYPE_oid: FRAMEdecompress(oid); break;
- case TYPE_wrd: FRAMEdecompress(wrd); break;
case TYPE_flt: FRAMEdecompress(flt); break;
case TYPE_dbl: FRAMEdecompress(dbl); break;
#ifdef HAVE_HGE
@@ -613,7 +607,6 @@ MOSsubselect_frame(Client cntxt, MOStas
case TYPE_sht: subselect_frame(sht); break;
case TYPE_lng: subselect_frame(lng); break;
case TYPE_oid: subselect_frame(oid); break;
- case TYPE_wrd: subselect_frame(wrd); break;
case TYPE_flt: subselect_frame(flt); break;
case TYPE_dbl: subselect_frame(dbl); break;
#ifdef HAVE_HGE
@@ -845,7 +838,6 @@ MOSthetasubselect_frame(Client cntxt, M
case TYPE_sht: thetasubselect_frame(sht); break;
case TYPE_lng: thetasubselect_frame(lng); break;
case TYPE_oid: thetasubselect_frame(oid); break;
- case TYPE_wrd: thetasubselect_frame(wrd); break;
case TYPE_flt: thetasubselect_frame(flt); break;
case TYPE_dbl: thetasubselect_frame(dbl); break;
#ifdef HAVE_HGE
@@ -973,7 +965,6 @@ MOSprojection_frame(Client cntxt, MOSta
case TYPE_sht: projection_frame(sht); break;
case TYPE_lng: projection_frame(lng); break;
case TYPE_oid: projection_frame(oid); break;
- case TYPE_wrd: projection_frame(wrd); break;
case TYPE_flt: projection_frame(flt); break;
case TYPE_dbl: projection_frame(dbl); break;
#ifdef HAVE_HGE
@@ -1033,7 +1024,6 @@ MOSjoin_frame(Client cntxt, MOStask tas
case TYPE_sht: join_frame(sht); break;
case TYPE_lng: join_frame(lng); break;
case TYPE_oid: join_frame(oid); break;
- case TYPE_wrd: join_frame(wrd); break;
case TYPE_flt: join_frame(flt); break;
case TYPE_dbl: join_frame(dbl); break;
#ifdef HAVE_HGE
diff --git a/monetdb5/modules/mal/mosaic_linear.c
b/monetdb5/modules/mal/mosaic_linear.c
--- a/monetdb5/modules/mal/mosaic_linear.c
+++ b/monetdb5/modules/mal/mosaic_linear.c
@@ -37,7 +37,6 @@ linear_step(MOStask task, MosaicBlk blk)
case TYPE_sht : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(sht));
case TYPE_int : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(int));
case TYPE_lng : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(lng));
- case TYPE_wrd : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(wrd));
case TYPE_oid : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(oid));
case TYPE_flt : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(flt));
case TYPE_dbl : return (void*) ( ((char*)blk)+ MosaicBlkSize+
sizeof(dbl));
@@ -71,8 +70,6 @@ MOSdump_linear(Client cntxt, MOStask tas
mnstr_printf(cntxt->fdout,"int %d %d", *(int*)
linear_base(blk), *(int*) linear_step(task,blk)); break;
case TYPE_lng:
mnstr_printf(cntxt->fdout,"int "LLFMT" " LLFMT, *(lng*)
linear_base(blk), *(lng*) linear_step(task,blk)); break;
- case TYPE_wrd:
- mnstr_printf(cntxt->fdout,"int "SZFMT" " SZFMT, *(wrd*)
linear_base(blk), *(wrd*) linear_step(task,blk)); break;
case TYPE_flt:
mnstr_printf(cntxt->fdout,"flt %f %f", *(flt*)
linear_base(blk), *(flt*) linear_step(task,blk)); break;
case TYPE_dbl:
@@ -104,7 +101,6 @@ MOSlayout_linear(Client cntxt, MOStask t
case TYPE_int: output = wordaligned( MosaicBlkSize + 2 *
sizeof(int),int); break;
case TYPE_oid: output = wordaligned( MosaicBlkSize + 2 *
sizeof(oid),oid); break;
case TYPE_lng: output = wordaligned( MosaicBlkSize + 2 *
sizeof(lng),lng); break;
- case TYPE_wrd: output = wordaligned( MosaicBlkSize + 2 *
sizeof(wrd),wrd); break;
case TYPE_flt: output = wordaligned( MosaicBlkSize + 2 *
sizeof(flt),flt); break;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list