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