Changeset: 69cb8e9d0899 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=69cb8e9d0899
Modified Files:
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_private.h
Branch: Jul2017
Log Message:

Cleanup some macros.


diffs (85 lines):

diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1764,6 +1764,8 @@ HEAPcommitpersistence(Heap *hp, int writ
 }
 
 
+#define ATOMappendpriv(t, h) (ATOMstorage(t) != TYPE_str || GDK_ELIMDOUBLES(h))
+
 /* change the heap modes at a commit */
 gdk_return
 BATcheckmodes(BAT *b, int existing)
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -531,7 +531,18 @@ BATappend(BAT *b, BAT *n, BAT *s, bit fo
        assert(b->theap.parentid == 0);
 
        ALIGNapp(b, "BATappend", force, GDK_FAIL);
-       BATcompatible(b, n, GDK_FAIL, "BATappend");
+
+       if (ATOMstorage(ATOMtype(b->ttype)) != ATOMstorage(ATOMtype(n->ttype))) 
{
+               GDKerror("Incompatible operands.\n");
+               return GDK_FAIL;
+       }
+       CHECKDEBUG {
+               if (BATttype(b) != BATttype(n) &&
+                   ATOMtype(b->ttype) != ATOMtype(n->ttype)) {
+                       fprintf(stderr,"#Interpreting %s as %s.\n",
+                               ATOMname(BATttype(n)), ATOMname(BATttype(b)));
+               }
+       }
 
        if (BATcount(b) == 0)
                BAThseqbase(b, s ? s->hseqbase : n->hseqbase);
@@ -874,15 +885,6 @@ BATdel(BAT *b, BAT *d)
        return GDK_SUCCEED;
 }
 
-#define TYPEcheck(t1,t2,func)                                          \
-       do {                                                            \
-               if (TYPEerror(t1, t2)) {                                \
-                       GDKerror("%s: Incompatible types %s and %s.\n", \
-                                func, ATOMname(t2), ATOMname(t1));     \
-                       return GDK_FAIL;                                \
-               }                                                       \
-       } while (0)
-
 /*
  * The last in this series is a BATreplace, which replaces all the
  * buns mentioned.
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -279,8 +279,6 @@ extern MT_Lock GDKthreadLock;
 extern MT_Lock GDKtmLock;
 extern MT_Lock MT_system_lock;
 
-#define ATOMappendpriv(t, h) (ATOMstorage(t) != TYPE_str || GDK_ELIMDOUBLES(h))
-
 #define BBPdirty(x)    (BBP_dirty=(x))
 
 #define BATcheck(tst, msg, err)                                                
\
@@ -300,21 +298,6 @@ extern MT_Lock MT_system_lock;
                        return (err);           \
                }                               \
        } while (0)
-#define BATcompatible(P1,P2,E,F)                                       \
-       do {                                                            \
-               ERRORcheck((P1) == NULL, F ": BAT required\n", E);      \
-               ERRORcheck((P2) == NULL, F ": BAT required\n", E);      \
-               if (TYPEerror(BATttype(P1),BATttype(P2))) {             \
-                       GDKerror("Incompatible operands.\n");           \
-                       return (E);                                     \
-               }                                                       \
-               if (BATttype(P1) != BATttype(P2) &&                     \
-                   ATOMtype((P1)->ttype) != ATOMtype((P2)->ttype)) {   \
-                       CHECKDEBUG fprintf(stderr,"#Interpreting %s as %s.\n", \
-                               ATOMname(BATttype(P2)), 
ATOMname(BATttype(P1))); \
-               }                                                       \
-       } while (0)
-#define TYPEerror(t1,t2)       (ATOMstorage(ATOMtype(t1)) != 
ATOMstorage(ATOMtype(t2)))
 
 #define GDKswapLock(x)  GDKbatLock[(x)&BBP_BATMASK].swap
 #define GDKhashLock(x)  GDKbatLock[(x)&BBP_BATMASK].hash
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to