Changeset: 539a052040df for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=539a052040df
Modified Files:
        gdk/gdk_aggr.c
Branch: default
Log Message:

Fix maintenance of whether we've seen a (non-nil) value.


diffs (40 lines):

diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -157,7 +157,6 @@ BATgroupaggrinit(const BAT *b, const BAT
                const TYPE1 *vals = (const TYPE1 *) values;             \
                if (ngrp == 1 && cand == NULL) {                        \
                        TYPE2 sum;                                      \
-                       int seenval;                                    \
                        ALGODEBUG fprintf(stderr,                       \
                                          "#%s: no candidates, no groups; " \
                                          "start " BUNFMT ", end " BUNFMT \
@@ -165,7 +164,7 @@ BATgroupaggrinit(const BAT *b, const BAT
                                          func, start, end, nonil);     \
                        sum = 0;                                        \
                        if (nonil) {                                    \
-                               seenval = start < end;                  \
+                               *seen = start < end;                    \
                                for (i = start; i < end && nils == 0; i++, 
vals++) { \
                                        x = *vals;                      \
                                        ADD_WITH_CHECK(TYPE1, x,        \
@@ -174,7 +173,7 @@ BATgroupaggrinit(const BAT *b, const BAT
                                                       goto overflow);  \
                                }                                       \
                        } else {                                        \
-                               seenval = 0;                            \
+                               int seenval = 0;                        \
                                for (i = start; i < end && nils == 0; i++, 
vals++) { \
                                        x = *vals;                      \
                                        if (x == TYPE1##_nil) {         \
@@ -190,8 +189,9 @@ BATgroupaggrinit(const BAT *b, const BAT
                                                seenval = 1;            \
                                        }                               \
                                }                                       \
+                               *seen = seenval;                        \
                        }                                               \
-                       if (seenval)                                    \
+                       if (*seen)                                      \
                                *sums = sum;                            \
                } else if (ngrp == 1) {                                 \
                        TYPE2 sum;                                      \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to