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

Reply via email to