Changeset: 5a0ef8a4d53a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5a0ef8a4d53a Modified Files: gdk/gdk_atoms.c gdk/gdk_private.h gdk/gdk_utils.c monetdb5/mal/mal.c monetdb5/mal/mal_namespace.c sql/backends/monet5/sql.c Branch: default Log Message:
Merge with Jul2017 branch diffs (89 lines): diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -2205,3 +2205,20 @@ ATOMunknown_name(int i) assert(unknown[-i]); return unknown[-i]; } + +void +ATOMunknown_clean(void) +{ + int i; + + MT_lock_set(&GDKthreadLock); + for (i = 1; i < MAXATOMS; i++) { + if(unknown[i]) { + GDKfree(unknown[i]); + unknown[i] = NULL; + } else { + break; + } + } + MT_lock_unset(&GDKthreadLock); +} diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -36,6 +36,8 @@ enum heaptype { __attribute__((__visibility__("hidden"))); __hidden str ATOMunknown_name(int a) __attribute__((__visibility__("hidden"))); +__hidden void ATOMunknown_clean(void) + __attribute__((__visibility__("hidden"))); __hidden int BATcheckhash(BAT *b) __attribute__((__visibility__("hidden"))); __hidden int BATcheckimprints(BAT *b) diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -809,6 +809,7 @@ GDKreset(int status, int exit) MT_lock_unset(&GDKthreadLock); //gdk_system_reset(); CHECK OUT } + ATOMunknown_clean(); #ifdef NEED_MT_LOCK_INIT MT_lock_destroy(&MT_system_lock); #if defined(USE_PTHREAD_LOCKS) && defined(ATOMIC_LOCK) diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -121,6 +121,8 @@ int mal_init(void){ * activity first. * This function should be called after you have issued sql_reset(); */ +void cleanOptimizerPipe(void); + void mserver_reset(int exit) { str err = 0; diff --git a/monetdb5/mal/mal_namespace.c b/monetdb5/mal/mal_namespace.c --- a/monetdb5/mal/mal_namespace.c +++ b/monetdb5/mal/mal_namespace.c @@ -49,6 +49,7 @@ static struct namespace { } *namespace; void initNamespace(void) { + namespace = NULL; } void mal_namespace_reset(void) { diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -1846,12 +1846,14 @@ SQLtid(Client cntxt, MalBlkPtr mb, MalSt if (store_funcs.count_del(tr, t)) { BAT *d = store_funcs.bind_del(tr, t, RD_INS); BAT *diff; - if( d == NULL) + if (d == NULL) throw(SQL,"sql.tid", SQLSTATE(45002) "Can not bind delete column"); diff = BATdiff(tids, d, NULL, NULL, 0, BUN_NONE); BBPunfix(d->batCacheid); BBPunfix(tids->batCacheid); + if (diff == NULL) + throw(SQL,"sql.tid","Cannot subtract delete column"); BAThseqbase(diff, sb); tids = diff; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list