Changeset: fc86c78da595 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fc86c78da595 Modified Files: gdk/gdk.h gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_orderidx.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_utils.c monetdb5/mal/mal_client.c monetdb5/mal/mal_dataflow.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/tablet.c sql/backends/monet5/mal_backend.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/common/sql_types.c sql/server/rel_exp.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/sql_atom.c sql/server/sql_partition.c sql/server/sql_query.c sql/server/sql_semantic.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c sql/test/Tests/hot-snapshot.py sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out Branch: scoping Log Message:
Merged with default diffs (truncated from 879 to 300 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1709,7 +1709,7 @@ typedef struct threadStruct { * into this array + 1 (0 is * invalid) */ ATOMIC_TYPE pid; /* thread id, 0 = unallocated */ - char name[16]; + char name[MT_NAME_LEN]; void *data[THREADDATA]; uintptr_t sp; } *Thread; diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -121,7 +121,7 @@ BATcreatedesc(oid hseq, int tt, bool hea bn->tvheap->parentid = bn->batCacheid; bn->tvheap->farmid = BBPselectfarm(role, bn->ttype, varheap); } - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "BATlock%d", bn->batCacheid); /* fits */ MT_lock_init(&bn->batIdxLock, name); bn->batDirtydesc = true; diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -910,7 +910,7 @@ BBPreadEntries(FILE *fp, unsigned bbpver bn->batCount = (BUN) count; bn->batInserted = bn->batCount; bn->batCapacity = (BUN) capacity; - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "BATlock%d", bn->batCacheid); /* fits */ MT_lock_init(&bn->batIdxLock, name); diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -957,7 +957,7 @@ BAThash(BAT *b) if (BBP_status(b->batCacheid) & BBPEXISTING && !b->theap.dirty && !GDKinmemory()) { MT_Id tid; BBPfix(b->batCacheid); - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "hashsync%d", b->batCacheid); MT_lock_unset(&b->batIdxLock); if (MT_create_thread(&tid, BAThashsync, b, diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c --- a/gdk/gdk_imprints.c +++ b/gdk/gdk_imprints.c @@ -534,7 +534,7 @@ BATimprints(BAT *b) !GDKinmemory()) { MT_Id tid; BBPfix(b->batCacheid); - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "impssync%d", b->batCacheid); if (MT_create_thread(&tid, BATimpsync, b, MT_THR_DETACHED, name) < 0) diff --git a/gdk/gdk_orderidx.c b/gdk/gdk_orderidx.c --- a/gdk/gdk_orderidx.c +++ b/gdk/gdk_orderidx.c @@ -169,7 +169,7 @@ persistOIDX(BAT *b) !GDKinmemory()) { MT_Id tid; BBPfix(b->batCacheid); - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "oidxsync%d", b->batCacheid); if (MT_create_thread(&tid, BATidxsync, b, MT_THR_DETACHED, name) < 0) @@ -479,7 +479,7 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar) b->batInserted == b->batCount) { MT_Id tid; BBPfix(b->batCacheid); - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "oidxsync%d", b->batCacheid); if (MT_create_thread(&tid, BATidxsync, b, MT_THR_DETACHED, name) < 0) diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c --- a/gdk/gdk_storage.c +++ b/gdk/gdk_storage.c @@ -705,7 +705,7 @@ BATmsync(BAT *b) arg->h = &b->theap; BBPfix(b->batCacheid); #ifdef MSYNC_BACKGROUND - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "msync%d", b->batCacheid); if (MT_create_thread(&tid, BATmsyncImplementation, arg, MT_THR_DETACHED, name) < 0) { @@ -724,7 +724,7 @@ BATmsync(BAT *b) arg->h = b->tvheap; BBPfix(b->batCacheid); #ifdef MSYNC_BACKGROUND - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "msync%d", b->batCacheid); if (MT_create_thread(&tid, BATmsyncImplementation, arg, MT_THR_DETACHED, name) < 0) { diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -180,7 +180,7 @@ static struct winthread { const char *working; /* what we're currently doing */ ATOMIC_TYPE exited; bool detached:1, waiting:1; - char threadname[16]; + char threadname[MT_NAME_LEN]; } *winthreads = NULL; static struct winthread mainthread = { .threadname = "main thread", @@ -509,7 +509,7 @@ static struct posthread { MT_Sema *semawait; /* semaphore we're waiting for */ struct posthread *joinwait; /* process we are joining with */ const char *working; /* what we're currently doing */ - char threadname[16]; + char threadname[MT_NAME_LEN]; pthread_t tid; MT_Id mtid; ATOMIC_TYPE exited; diff --git a/gdk/gdk_system.h b/gdk/gdk_system.h --- a/gdk/gdk_system.h +++ b/gdk/gdk_system.h @@ -135,6 +135,7 @@ gdk_export void MT_sleep_ms(unsigned int typedef size_t MT_Id; /* thread number. will not be zero */ enum MT_thr_detach { MT_THR_JOINABLE, MT_THR_DETACHED }; +#define MT_NAME_LEN 32 /* length of thread/semaphore/etc. names */ gdk_export bool MT_thread_init(void); gdk_export int MT_create_thread(MT_Id *t, void (*function) (void *), @@ -285,7 +286,7 @@ gdk_export int MT_join_thread(MT_Id t); #if !defined(HAVE_PTHREAD_H) && defined(WIN32) typedef struct MT_Lock { HANDLE lock; - char name[16]; + char name[MT_NAME_LEN]; #ifdef LOCK_STATS size_t count; ATOMIC_TYPE contention; @@ -359,7 +360,7 @@ MT_lock_try(MT_Lock *l) typedef struct MT_Lock { pthread_mutex_t lock; - char name[16]; + char name[MT_NAME_LEN]; #ifdef LOCK_STATS size_t count; ATOMIC_TYPE contention; @@ -424,7 +425,7 @@ typedef struct MT_Lock { * a linked list of active locks */ typedef struct MT_Lock { ATOMIC_FLAG lock; - char name[16]; + char name[MT_NAME_LEN]; #ifdef LOCK_STATS size_t count; ATOMIC_TYPE contention; @@ -503,7 +504,7 @@ gdk_export ATOMIC_TYPE GDKlocksleepcnt; typedef struct { HANDLE sema; - char name[16]; + char name[MT_NAME_LEN]; } MT_Sema; #define MT_sema_init(s, nr, n) \ @@ -539,7 +540,7 @@ typedef struct { /* MacOS X */ typedef struct { dispatch_semaphore_t sema; - char name[16]; + char name[MT_NAME_LEN]; } MT_Sema; #define MT_sema_init(s, nr, n) \ @@ -560,7 +561,7 @@ typedef struct { int cnt; pthread_mutex_t mutex; pthread_cond_t cond; - char name[16]; + char name[MT_NAME_LEN]; } MT_Sema; #define MT_sema_init(s, nr, n) \ @@ -606,7 +607,7 @@ typedef struct { typedef struct { sem_t sema; - char name[16]; + char name[MT_NAME_LEN]; } MT_Sema; #define MT_sema_init(s, nr, n) \ diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -703,12 +703,12 @@ GDKinit(opt *set, int setlen) } for (i = 0; i <= BBP_BATMASK; i++) { - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "GDKswapLock%d", i); MT_lock_init(&GDKbatLock[i].swap, name); } for (i = 0; i <= BBP_THREADMASK; i++) { - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "GDKcacheLock%d", i); MT_lock_init(&GDKbbpLock[i].cache, name); snprintf(name, sizeof(name), "GDKtrimLock%d", i); @@ -1399,7 +1399,7 @@ THRcreate(void (*f) (void *), void *arg, Thread s; struct THRstart *t; static ATOMIC_TYPE ctr = ATOMIC_VAR_INIT(0); - char semname[16]; + char semname[32]; int len; if ((t = GDKmalloc(sizeof(*t))) == NULL) diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -274,7 +274,7 @@ MCinitClientRecord(Client c, oid user, b c->filetrans = false; c->getquery = NULL; - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "Client%d->s", (int) (c - mal_clients)); MT_sema_init(&c->s, 0, name); return c; diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c --- a/monetdb5/mal/mal_dataflow.c +++ b/monetdb5/mal/mal_dataflow.c @@ -494,7 +494,7 @@ DFLOWinitialize(void) return -1; } for (i = 0; i < THREADS; i++) { - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "DFLOWsema%d", i); MT_sema_init(&workers[i].s, 0, name); workers[i].flag = IDLE; @@ -514,7 +514,7 @@ DFLOWinitialize(void) } workers[i].flag = RUNNING; ATOMIC_PTR_SET(&workers[i].cntxt, NULL); - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "DFLOWworker%d", i); if ((workers[i].id = THRcreate(DFLOWworker, (void *) &workers[i], MT_THR_JOINABLE, name)) == 0) { GDKfree(workers[i].errbuf); @@ -837,7 +837,7 @@ runMALdataflow(Client cntxt, MalBlkPtr m ATOMIC_PTR_SET(&workers[i].cntxt, cntxt); } workers[i].flag = RUNNING; - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "DFLOWworker%d", i); if ((workers[i].errbuf = GDKmalloc(GDKMAXERRLEN)) == NULL || (workers[i].id = THRcreate(DFLOWworker, (void *) &workers[i], diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c --- a/monetdb5/modules/mal/mal_mapi.c +++ b/monetdb5/modules/mal/mal_mapi.c @@ -491,7 +491,7 @@ SERVERlistenThread(SOCKET *Sock) goto stream_alloc_fail; } data->out = s; - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "client%d", (int) ATOMIC_INC(&threadno)); @@ -585,7 +585,7 @@ SERVERlisten(int port, const char *usock if (port > 0) { if (listenaddr && *listenaddr) { int check = 0, e = errno; - char sport[16]; + char sport[MT_NAME_LEN]; struct addrinfo *result = NULL, *rp = NULL, hints = (struct addrinfo) { .ai_family = bind_ipv6 ? AF_INET6 : AF_INET, .ai_socktype = SOCK_STREAM, @@ -1070,7 +1070,7 @@ SERVERclient(void *res, const Stream *In GDKfree(data); throw(MAL, "mapi.SERVERclient", SQLSTATE(HY013) MAL_MALLOC_FAIL); } - char name[16]; + char name[MT_NAME_LEN]; snprintf(name, sizeof(name), "client%d", (int) ATOMIC_INC(&threadno)); diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -1513,7 +1513,7 @@ SQLload_file(Client cntxt, Tablet *as, b _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list