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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list