Changeset: 9298bfa9d5d7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9298bfa9d5d7
Modified Files:
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_atoms.h
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_calc_compare.h
        gdk/gdk_group.c
        gdk/gdk_hash.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_project.c
        gdk/gdk_qsort.c
        gdk/gdk_search.c
        gdk/gdk_select.c
        gdk/gdk_ssort.c
        gdk/gdk_unique.c
        gdk/gdk_value.c
        geom/monetdb5/geom.c
        monetdb5/extras/rapi/converters.c.h
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_parser.c
        monetdb5/modules/atoms/color.c
        monetdb5/modules/atoms/color.h
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/batcolor.c
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/microbenchmark.c
        monetdb5/modules/kernel/mmath.c
        monetdb5/modules/mal/batcalc.c
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/iterator.c
        monetdb5/modules/mal/language.c
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/mkey.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/opt_mergetable.c
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/UDF/cudf/udf_impl.h
        sql/backends/monet5/UDF/pyapi/conversion.c
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cast_impl_down_from_flt.h
        sql/backends/monet5/sql_cast_impl_int.h
        sql/backends/monet5/sql_cast_impl_up_to_flt.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_fround.c
        sql/backends/monet5/sql_fround_impl.h
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_round.c
        sql/backends/monet5/sql_round_impl.h
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/bam/bam_lib.c
        sql/backends/monet5/vaults/fits/fits.c
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/backends/monet5/vaults/netcdf/netcdf.c
        sql/backends/monet5/vaults/shp/shp.c
        sql/server/sql_atom.c
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_table.c
        sql/storage/store.c
        sql/storage/store_dependency.c
Branch: default
Log Message:

Introduced macros is_XXX_nil() to check whether a value is NIL.


diffs (truncated from 6846 to 300 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1293,13 +1293,13 @@ gdk_export BUN ORDERfndlast(BAT *b, cons
 gdk_export BUN BUNfnd(BAT *b, const void *right);
 
 #define BUNfndVOID(b, v)                                               \
-       (((*(const oid*)(v) == oid_nil) ^ ((b)->tseqbase == oid_nil)) | \
+       ((is_oid_nil(*(const oid*)(v)) ^ is_oid_nil((b)->tseqbase)) |   \
                (*(const oid*)(v) < (b)->tseqbase) |                    \
                (*(const oid*)(v) >= (b)->tseqbase + (b)->batCount) ?   \
         BUN_NONE :                                                     \
         (BUN) (*(const oid*)(v) - (b)->tseqbase))
 
-#define BATttype(b)    ((b)->ttype == TYPE_void && (b)->tseqbase != oid_nil ? \
+#define BATttype(b)    ((b)->ttype == TYPE_void && !is_oid_nil((b)->tseqbase) 
? \
                         TYPE_oid : (b)->ttype)
 #define Tbase(b)       ((b)->tvheap->base)
 
@@ -1528,19 +1528,19 @@ gdk_export void GDKqsort(void *h, void *
 gdk_export void GDKqsort_rev(void *h, void *t, const void *base, size_t n, int 
hs, int ts, int tpe);
 
 #define BATtordered(b) ((b)->ttype == TYPE_void || (b)->tsorted)
-#define BATtrevordered(b) (((b)->ttype == TYPE_void && (b)->tseqbase == 
oid_nil) || (b)->trevsorted)
-#define BATtdense(b)   (BATtvoid(b) && (b)->tseqbase != oid_nil)
+#define BATtrevordered(b) (((b)->ttype == TYPE_void && 
is_oid_nil((b)->tseqbase)) || (b)->trevsorted)
+#define BATtdense(b)   (BATtvoid(b) && !is_oid_nil((b)->tseqbase))
 #define BATtvoid(b)    (((b)->tdense && (b)->tsorted) || (b)->ttype==TYPE_void)
 #define BATtkey(b)     (b->tkey != FALSE || BATtdense(b))
 
 /* set some properties that are trivial to deduce */
 #define BATsettrivprop(b)                                              \
        do {                                                            \
-               assert((b)->hseqbase != oid_nil);                       \
+               assert(!is_oid_nil((b)->hseqbase));                     \
                (b)->batDirtydesc = 1;  /* likely already set */        \
                /* the other head properties should already be correct */ \
                if ((b)->ttype == TYPE_void) {                          \
-                       if ((b)->tseqbase == oid_nil) {                 \
+                       if (is_oid_nil((b)->tseqbase)) {                \
                                (b)->tnonil = (b)->batCount == 0;       \
                                (b)->tnil = !(b)->tnonil;               \
                                (b)->trevsorted = 1;                    \
@@ -1570,7 +1570,7 @@ gdk_export void GDKqsort_rev(void *h, vo
                        } else if ((b)->ttype == TYPE_oid) {            \
                                /* b->batCount == 1 */                  \
                                oid sqbs;                               \
-                               if ((sqbs = ((oid *) (b)->theap.base)[0]) == 
oid_nil) { \
+                               if (is_oid_nil((sqbs = ((oid *) 
(b)->theap.base)[0]))) { \
                                        (b)->tdense = 0;                \
                                        (b)->tnonil = 0;                \
                                        (b)->tnil = 1;                  \
@@ -2427,7 +2427,7 @@ gdk_export void *THRdata[THREADDATA];
 static inline bat
 BBPcheck(bat x, const char *y)
 {
-       if (x && x != bat_nil) {
+       if (!is_bat_nil(x)) {
                assert(x > 0);
 
                if (x < 0 || x >= getBBPsize() || BBP_logical(x) == NULL) {
@@ -2457,7 +2457,7 @@ static inline char *
 Tpos(BATiter *bi, BUN p)
 {
        bi->tvid = bi->b->tseqbase;
-       if (bi->tvid != oid_nil)
+       if (!is_oid_nil(bi->tvid))
                bi->tvid += p;
        return (char*)&bi->tvid;
 }
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -104,12 +104,12 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e,
                                gids = (const oid *) Tloc(g, 0);
                                /* find first non-nil */
                                for (i = 0, ngrp = BATcount(g); i < ngrp; i++, 
gids++) {
-                                       if (*gids != oid_nil) {
+                                       if (!is_oid_nil(*gids)) {
                                                min = *gids;
                                                break;
                                        }
                                }
-                               if (min != oid_nil) {
+                               if (!is_oid_nil(min)) {
                                        /* found a non-nil, max must be last
                                         * value (and there is one!) */
                                        max = * (const oid *) Tloc(g, 
BUNlast(g) - 1);
@@ -118,7 +118,7 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e,
                                /* we'll do a complete scan */
                                gids = (const oid *) Tloc(g, 0);
                                for (i = 0, ngrp = BATcount(g); i < ngrp; i++, 
gids++) {
-                                       if (*gids != oid_nil) {
+                                       if (!is_oid_nil(*gids)) {
                                                if (*gids < min)
                                                        min = *gids;
                                                if (*gids > max)
@@ -260,9 +260,9 @@ dofsum(const void *restrict values, oid 
                        continue;
                if (pergroup[grp].partials == NULL)
                        continue;
-               if (tp1 == TYPE_flt && ((const flt *) values)[listi] != flt_nil)
+               if (tp1 == TYPE_flt && !is_flt_nil(((const flt *) 
values)[listi]))
                        x = ((const flt *) values)[listi];
-               else if (tp1 == TYPE_dbl && ((const dbl *) values)[listi] != 
dbl_nil)
+               else if (tp1 == TYPE_dbl && !is_dbl_nil(((const dbl *) 
values)[listi]))
                        x = ((const dbl *) values)[listi];
                else {
                        /* it's a nil */
@@ -370,7 +370,7 @@ dofsum(const void *restrict values, oid 
                                                        nils++;
                                                } else
                                                        ((flt *) results)[grp] 
= (flt) x;
-                                       } else if (x == GDK_dbl_min) {
+                                       } else if (is_dbl_nil(x)) {
                                                if (abort_on_error)
                                                        goto overflow;
                                                ((dbl *) results)[grp] = 
dbl_nil;
@@ -439,7 +439,7 @@ dofsum(const void *restrict values, oid 
                                nils++;
                        } else
                                ((flt *) results)[grp] = (flt) hi;
-               } else if (hi == GDK_dbl_min) {
+               } else if (is_dbl_nil(hi)) {
                        if (abort_on_error)
                                goto overflow;
                        ((dbl *) results)[grp] = dbl_nil;
@@ -486,7 +486,7 @@ dofsum(const void *restrict values, oid 
                                int seenval = 0;                        \
                                for (i = start; i < end && nils == 0; i++) { \
                                        x = vals[i];                    \
-                                       if (x == TYPE1##_nil) {         \
+                                       if (is_##TYPE1##_nil(x)) {      \
                                                if (!skip_nils) {       \
                                                        sum = TYPE2##_nil; \
                                                        nils = 1;       \
@@ -519,7 +519,7 @@ dofsum(const void *restrict values, oid 
                                if (i >= end)                           \
                                        break;                          \
                                x = vals[i];                            \
-                               if (x == TYPE1##_nil) {                 \
+                               if (is_##TYPE1##_nil(x)) {              \
                                        if (!skip_nils) {               \
                                                sum = TYPE2##_nil;      \
                                                nils = 1;               \
@@ -547,10 +547,10 @@ dofsum(const void *restrict values, oid 
                                    (gids[i] >= min && gids[i] <= max)) { \
                                        gid = gids ? gids[i] - min : (oid) i; \
                                        x = vals[i];                    \
-                                       if (x == TYPE1##_nil) {         \
+                                       if (is_##TYPE1##_nil(x)) {      \
                                                if (!skip_nils) {       \
                                                        sums[gid] = 
TYPE2##_nil; \
-                                                       nils++; \
+                                                       nils++;         \
                                                }                       \
                                        } else {                        \
                                                if (nil_if_empty &&     \
@@ -558,7 +558,7 @@ dofsum(const void *restrict values, oid 
                                                        seen[gid >> 5] |= 1U << 
(gid & 0x1F); \
                                                        sums[gid] = 0;  \
                                                }                       \
-                                               if (sums[gid] != TYPE2##_nil) { 
\
+                                               if 
(!is_##TYPE2##_nil(sums[gid])) { \
                                                        ADD_WITH_CHECK( \
                                                                TYPE1,  \
                                                                x,      \
@@ -584,10 +584,10 @@ dofsum(const void *restrict values, oid 
                                if (i >= end)                           \
                                        break;                          \
                                if (gids == NULL ||                     \
-                                   (gids[i] >= min && gids[i] <= max)) {       
\
+                                   (gids[i] >= min && gids[i] <= max)) { \
                                        gid = gids ? gids[i] - min : (oid) i; \
                                        x = vals[i];                    \
-                                       if (x == TYPE1##_nil) {         \
+                                       if (is_##TYPE1##_nil(x)) {      \
                                                if (!skip_nils) {       \
                                                        sums[gid] = 
TYPE2##_nil; \
                                                        nils++;         \
@@ -598,7 +598,7 @@ dofsum(const void *restrict values, oid 
                                                        seen[gid >> 5] |= 1U << 
(gid & 0x1F); \
                                                        sums[gid] = 0;  \
                                                }                       \
-                                               if (sums[gid] != TYPE2##_nil) { 
\
+                                               if 
(!is_##TYPE2##_nil(sums[gid])) { \
                                                        ADD_WITH_CHECK( \
                                                                TYPE1,  \
                                                                x,      \
@@ -899,7 +899,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                avg = dbl_nil;
                        }
                        if (tp == TYPE_flt) {
-                               if (avg == dbl_nil)
+                               if (is_dbl_nil(avg))
                                        *(flt *) res = flt_nil;
                                else if (cnt > 0 &&
                                         GDK_flt_max / cnt < fabs(avg)) {
@@ -912,7 +912,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                        *(flt *) res = (flt) avg * cnt;
                                }
                        } else {
-                               if (avg == dbl_nil) {
+                               if (is_dbl_nil(avg)) {
                                        *(dbl *) res = dbl_nil;
                                } else if (cnt > 0 &&
                                           GDK_dbl_max / cnt < fabs(avg)) {
@@ -976,7 +976,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                        else                            \
                                                gid = (oid) i;          \
                                }                                       \
-                               if (vals[i] == TYPE1##_nil) {           \
+                               if (is_##TYPE1##_nil(vals[i])) {        \
                                        if (!skip_nils) {               \
                                                prods[gid] = TYPE2##_nil; \
                                                nils++;                 \
@@ -987,7 +987,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                                seen[gid >> 5] |= 1U << (gid & 
0x1F); \
                                                prods[gid] = 1;         \
                                        }                               \
-                                       if (prods[gid] != TYPE2##_nil) { \
+                                       if (!is_##TYPE2##_nil(prods[gid])) { \
                                                MUL4_WITH_CHECK(        \
                                                        TYPE1, vals[i], \
                                                        TYPE2, prods[gid], \
@@ -1032,12 +1032,12 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                        seen[gid >> 5] |= 1U << (gid & 0x1F); \
                                        prods[gid] = 1;                 \
                                }                                       \
-                               if (vals[i] == TYPE##_nil) {            \
+                               if (is_##TYPE##_nil(vals[i])) {         \
                                        if (!skip_nils) {               \
                                                prods[gid] = hge_nil;   \
                                                nils++;                 \
                                        }                               \
-                               } else if (prods[gid] != hge_nil) {     \
+                               } else if (!is_hge_nil(prods[gid])) {   \
                                        HGEMUL_CHECK(TYPE, vals[i],     \
                                                     hge, prods[gid],   \
                                                     prods[gid],        \
@@ -1073,7 +1073,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                        else                            \
                                                gid = (oid) i;          \
                                }                                       \
-                               if (vals[i] == TYPE##_nil) {            \
+                               if (is_##TYPE##_nil(vals[i])) {         \
                                        if (!skip_nils) {               \
                                                prods[gid] = lng_nil;   \
                                                nils++;                 \
@@ -1084,7 +1084,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                                seen[gid >> 5] |= 1U << (gid & 
0x1F); \
                                                prods[gid] = 1;         \
                                        }                               \
-                                       if (prods[gid] != lng_nil) {    \
+                                       if (!is_lng_nil(prods[gid])) {  \
                                                LNGMUL_CHECK(           \
                                                        TYPE, vals[i],  \
                                                        lng, prods[gid], \
@@ -1123,18 +1123,18 @@ BATsum(void *res, int tp, BAT *b, BAT *s
                                        else                            \
                                                gid = (oid) i;          \
                                }                                       \
-                               if (vals[i] == TYPE1##_nil) {           \
+                               if (is_##TYPE1##_nil(vals[i])) {        \
                                        if (!skip_nils) {               \
                                                prods[gid] = TYPE2##_nil; \
                                                nils++;                 \
                                        }                               \
                                } else {                                \
-                                       if (nil_if_empty && \
+                                       if (nil_if_empty &&             \
                                            !(seen[gid >> 5] & (1U << (gid & 
0x1F)))) { \
                                                seen[gid >> 5] |= 1U << (gid & 
0x1F); \
                                                prods[gid] = 1;         \
                                        }                               \
-                                       if (prods[gid] != TYPE2##_nil) { \
+                                       if (!is_##TYPE2##_nil(prods[gid])) { \
                                                if (ABSOLUTE(vals[i]) > 1 && \
                                                    GDK_##TYPE2##_max / 
ABSOLUTE(vals[i]) < ABSOLUTE(prods[gid])) { \
                                                        if (abort_on_error) \
@@ -1576,10 +1576,10 @@ BATprod(void *res, int tp, BAT *b, BAT *
                                        gid = gids[i] - min;            \
                                else                                    \
                                        gid = (oid) i;                  \
-                               if (vals[i] == TYPE##_nil) {            \
+                               if (is_##TYPE##_nil(vals[i])) {         \
                                        if (!skip_nils)                 \
                                                cnts[gid] = lng_nil;    \
-                               } else if (cnts[gid] != lng_nil) {      \
+                               } else if (!is_lng_nil(cnts[gid])) {    \
                                        AVERAGE_ITER(TYPE, vals[i],     \
                                                     avgs[gid],         \
                                                     rems[gid],         \
@@ -1588,7 +1588,7 @@ BATprod(void *res, int tp, BAT *b, BAT *
                        }                                               \
                }                                                       \
                for (i = 0; i < ngrp; i++) {                            \
-                       if (cnts[i] == 0 || cnts[i] == lng_nil) {       \
+                       if (cnts[i] == 0 || is_lng_nil(cnts[i])) {      \
                                dbls[i] = dbl_nil;                      \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to