Changeset: fdf8f6e3bc5b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fdf8f6e3bc5b
Modified Files:
        clients/Tests/exports.stable.out
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        sql/storage/bat/bat_storage.c
Branch: default
Log Message:

Function PROPdestroy now takes a BAT* parameter.


diffs (182 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -306,7 +306,7 @@ ssize_t OIDtoStr(str *dst, size_t *len, 
 BUN ORDERfnd(BAT *b, const void *v);
 BUN ORDERfndfirst(BAT *b, const void *v);
 BUN ORDERfndlast(BAT *b, const void *v);
-void PROPdestroy(PROPrec *p);
+void PROPdestroy(BAT *b);
 BUN SORTfnd(BAT *b, const void *v);
 BUN SORTfndfirst(BAT *b, const void *v);
 BUN SORTfndlast(BAT *b, const void *v);
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,9 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
+* Tue Aug 21 2018 Sjoerd Mullender <[email protected]>
+- Function PROPdestroy now takes a BAT* parameter.
+
 * Wed Aug 15 2018 Sjoerd Mullender <[email protected]>
 - A whole bunch of functions now take a bool argument instead of an
   int argument.  Some functions now return a bool instead of an int.
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2686,7 +2686,7 @@ gdk_export void VIEWbounds(BAT *b, BAT *
 #define GDK_MIN_VALUE 3
 #define GDK_MAX_VALUE 4
 
-gdk_export void PROPdestroy(PROPrec *p);
+gdk_export void PROPdestroy(BAT *b);
 gdk_export PROPrec *BATgetprop(BAT *b, int idx);
 gdk_export void BATsetprop(BAT *b, int idx, int type, const void *v);
 gdk_export void BATrmprop(BAT *b, int idx);
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -499,8 +499,7 @@ BATclear(BAT *b, bool force)
        HASHdestroy(b);
        IMPSdestroy(b);
        OIDXdestroy(b);
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
 
        /* we must dispose of all inserted atoms */
        if (force && BATatoms[b->ttype].atomDel == NULL) {
@@ -563,8 +562,7 @@ BATfree(BAT *b)
        if (b->tident && !default_ident(b->tident))
                GDKfree(b->tident);
        b->tident = BATstring_t;
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
        HASHfree(b);
        IMPSfree(b);
        OIDXfree(b);
@@ -587,7 +585,7 @@ BATdestroy(BAT *b)
        b->tident = BATstring_t;
        if (b->tvheap)
                GDKfree(b->tvheap);
-       PROPdestroy(b->tprops);
+       PROPdestroy(b);
        GDKfree(b);
 }
 
@@ -1051,8 +1049,7 @@ BUNappend(BAT *b, const void *t, bool fo
 
        IMPSdestroy(b); /* no support for inserts in imprints yet */
        OIDXdestroy(b);
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
        if (b->thash == (Hash *) 1 ||
            (b->thash && ((size_t *) b->thash->heap.base)[0] & (1 << 24))) {
                /* don't bother first loading the hash to then change
@@ -1119,8 +1116,7 @@ BUNdelete(BAT *b, oid o)
        IMPSdestroy(b);
        OIDXdestroy(b);
        HASHdestroy(b);
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
        return GDK_SUCCEED;
 }
 
@@ -1163,8 +1159,7 @@ BUNinplace(BAT *b, BUN p, const void *t,
                b->tnil = false;
        }
        HASHdestroy(b);
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
        OIDXdestroy(b);
        IMPSdestroy(b);
        if (b->tvarsized && b->ttype) {
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -600,8 +600,7 @@ BATappend(BAT *b, BAT *n, BAT *s, bool f
 
        IMPSdestroy(b);         /* imprints do not support updates yet */
        OIDXdestroy(b);
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
        if (b->thash == (Hash *) 1 || BATcount(b) == 0 ||
            (b->thash && ((size_t *) b->thash->heap.base)[0] & (1 << 24))) {
                /* don't bother first loading the hash to then change
@@ -877,8 +876,7 @@ BATdel(BAT *b, BAT *d)
        /* not sure about these anymore */
        b->tnosorted = b->tnorevsorted = 0;
        b->tnokey[0] = b->tnokey[1] = 0;
-       PROPdestroy(b->tprops);
-       b->tprops = NULL;
+       PROPdestroy(b);
 
        return GDK_SUCCEED;
 }
@@ -1851,10 +1849,12 @@ BATconstant(oid hseq, int tailtype, cons
  */
 
 void
-PROPdestroy(PROPrec *p)
+PROPdestroy(BAT *b)
 {
+       PROPrec *p = b->tprops;
        PROPrec *n;
 
+       b->tprops = NULL;
        while (p) {
                n = p->next;
                VALclear(&p->v);
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -2120,15 +2120,6 @@ clear_del(sql_trans *tr, sql_table *t)
        return clear_dbat(tr, t->data);
 }
 
-static void
-BATcleanProps( BAT *b )
-{
-       if (b->tprops) {
-               PROPdestroy(b->tprops);
-               b->tprops = NULL;
-       }
-}
-
 static int 
 gtr_update_delta( sql_trans *tr, sql_delta *cbat, int *changes)
 {
@@ -2156,7 +2147,7 @@ gtr_update_delta( sql_trans *tr, sql_del
                        return LOG_ERR;
                }
                cbat->cnt = cbat->ibase = BATcount(cur);
-               BATcleanProps(cur);
+               PROPdestroy(cur);
                temp_destroy(cbat->ibid);
                cbat->ibid = e_bat(cur->ttype);
                if(cbat->ibid == BID_NIL)
@@ -2441,7 +2432,7 @@ tr_update_delta( sql_trans *tr, sql_delt
                                bat_destroy(ins);
                                return LOG_ERR;
                        }
-                       BATcleanProps(cur);
+                       PROPdestroy(cur);
                        temp_destroy(cbat->bid);
                        temp_destroy(cbat->ibid);
                        cbat->bid = cbat->ibid = 0;
@@ -2547,7 +2538,7 @@ tr_merge_delta( sql_trans *tr, sql_delta
                                bat_destroy(ins);
                                return LOG_ERR;
                        }
-                       BATcleanProps(cur);
+                       PROPdestroy(cur);
                        if (cur->batPersistence == PERSISTENT)
                                BATmsync(cur);
                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to