Changeset: cd1efaaf50ba for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cd1efaaf50ba Modified Files: MonetDB5/src/modules/kernel/group.mx Branch: Feb2010 Log Message:
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 0fe17ca4e57e -r cd1efaaf50ba MonetDB5/src/modules/kernel/group.mx --- a/MonetDB5/src/modules/kernel/group.mx Tue May 11 15:18:09 2010 +0200 +++ b/MonetDB5/src/modules/kernel/group.mx Thu May 13 15:12:55 2010 +0200 @@ -2775,7 +2775,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)))@ @@ -2785,7 +2785,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