Changeset: 9f4f874527c0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9f4f874527c0
Modified Files:
monetdb5/modules/mal/mosaic_dictionary.c
monetdb5/modules/mal/mosaic_frame.c
monetdb5/modules/mal/mosaic_hdr.c
Branch: mosaic
Log Message:
Keep track of frequence in dictionaries
diffs (70 lines):
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
@@ -99,7 +99,7 @@ MOSlayout_dictionary_hdr(Client cntxt, M
BUNappend(btech, "dictionary_hdr", FALSE);
BUNappend(bcount, &i, FALSE);
BUNappend(binput, &cnt, FALSE);
- BUNappend(boutput, &cnt, FALSE);
+ BUNappend(boutput, &task->hdr->dictfreq[i], FALSE);
BUNappend(bproperties, buf, FALSE);
}
}
@@ -322,6 +322,7 @@ MOSestimate_dictionary(Client cntxt, MOS
if(j == hdr->dictsize || dict[j] != *val) \
break;\
else {\
+ hdr->dictfreq[j]++;\
MOSincCnt(blk,1);\
dictcompress(base,i,hdr->bits,j);\
}\
@@ -370,6 +371,7 @@ MOScompress_dictionary(Client cntxt, MOS
if( j == hdr->dictsize || dict[j] != *val )
break;
else {
+ hdr->dictfreq[j]++;
MOSincCnt(blk,1);
cid = i * hdr->bits/64;
lshift= 63 -((i * hdr->bits) % 64) ;
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
@@ -104,7 +104,7 @@ MOSlayout_frame_hdr(Client cntxt, MOStas
BUNappend(btech, "frame_hdr", FALSE);
BUNappend(bcount, &i, FALSE);
BUNappend(binput, &cnt, FALSE);
- BUNappend(boutput, &cnt, FALSE);
+ BUNappend(boutput, &task->hdr->framefreq[i], FALSE);
BUNappend(bproperties, buf, FALSE);
}
}
@@ -334,6 +334,7 @@ MOSestimate_frame(Client cntxt, MOStask
if(j == hdr->framesize || dict[j] != delta) \
break;\
else {\
+ hdr->framefreq[j]++;\
MOSincCnt(blk,1);\
framecompress(base,i,hdr->framebits,j);\
}\
@@ -384,6 +385,7 @@ MOScompress_frame(Client cntxt, MOStask
if( j == hdr->framesize || dict[j] != delta )
break;
else {
+ hdr->framefreq[j]++;
MOSincCnt(blk,1);
cid = i * hdr->framebits/64;
lshift= 63 -((i * hdr->framebits) % 64)
;
diff --git a/monetdb5/modules/mal/mosaic_hdr.c
b/monetdb5/modules/mal/mosaic_hdr.c
--- a/monetdb5/modules/mal/mosaic_hdr.c
+++ b/monetdb5/modules/mal/mosaic_hdr.c
@@ -101,6 +101,10 @@ MOSinitHeader(MOStask task)
hdr->top = 0;
hdr->checksum.sumlng = 0;
hdr->checksum2.sumlng = 0;
+ for(i=0; i < 256; i++){
+ hdr->dictfreq[i]=0;
+ hdr->framefreq[i]=0;
+ }
}
// position the task on the mosaic blk to be scanned
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list