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
