Changeset: 0c0858fdc97f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0c0858fdc97f
Modified Files:
        MonetDB5/src/modules/kernel/group.mx
Branch: Jun2010
Log Message:

merge with Feb2010:

performance bug fix:
make sure that count_no_nil (and hence selectNotNil)
exploit the nonil property, if set

I applied this very fix already in Jun 2009 in the May2009 branch
on files MonetDB4/src/modules/plain/aggr.mx 
MonetDB4/src/modules/plain/aggrX3.mx MonetDB5/src/modules/kernel/aggr.mx
( cf.,
changeset:   31724:28a9894b1e97
branch:      May2009
parent:      31719:cb199b46a302
user:        Stefan Manegold <maneg...@cwi.nl>
date:        Fri Jul 10 08:08:53 2009 +0000
files:       MonetDB4/src/modules/plain/aggr.mx 
MonetDB4/src/modules/plain/aggrX3.mx MonetDB5/src/modules/kernel/aggr.mx
description:
performance bug fix:
make sure that count_no_nil (and hence selectNotNil)
exploit the nonil property, if set
)
but back then I was completely unaware of the fact
that M4 modules "xtables" & "aggr" had been merged into
M5 module "group".
I only was aware that "xtables" was renamed into "group"
and that "aggrX3" ws renamed into "aggr", and had assumed
that (the contents of) M4 module "aggr" had become obsolete
and hence removed.
I only happened to find out now, that the contents of
M4 module "aggr" had been merged with that of M4 module "xtables"
to form M5 module "group" ...


diffs (21 lines):

diff -r db9f1c910dbb -r 0c0858fdc97f MonetDB5/src/modules/kernel/group.mx
--- a/MonetDB5/src/modules/kernel/group.mx      Thu May 13 10:02:00 2010 +0200
+++ b/MonetDB5/src/modules/kernel/group.mx      Thu May 13 15:14:35 2010 +0200
@@ -2804,7 +2804,7 @@
 
        /* scan b, and add increment totals for true values */
        if (range > SMALL_AGGR_MAX) {
-               if (*ignore_nils) {
+               if (*ignore_nils && !b->T->nonil) {
                        ALGODEBUG THRprintf(GDKout, "#CMDaggr_count: range(=" 
OIDFMT ") > SMALL_AGGR_MAX(=%d)  =>  large_aggr_count(if 
(ATOMcmp(btt,t,bt_nil)))\n", range, SMALL_AGGR_MAX);
 
                        @:large_aggr_count(if(ATOMcmp(btt,t,bt_nil)))@
@@ -2814,7 +2814,7 @@
                        @:large_aggr_count()@
                }
        } else {
-               if (*ignore_nils) {
+               if (*ignore_nils && !b->T->nonil) {
                        ALGODEBUG THRprintf(GDKout, "#CMDaggr_count: range(=" 
OIDFMT ") <= SMALL_AGGR_MAX(=%d)  =>  small_aggr_count(if 
(ATOMcmp(btt,t,bt_nil)))\n", range, SMALL_AGGR_MAX);
 
                        @:small_aggr_count(if(ATOMcmp(btt,t,bt_nil)))@
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to