MonetDB: no_type_bat - merged with default

2024-04-07 Thread Niels Nes via checkin-list
Changeset: 51041ada91fa for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/51041ada91fa
Modified Files:
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_rel.c
sql/server/rel_select.c
Branch: no_type_bat
Log Message:

merged with default


diffs (80 lines):

diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -1639,7 +1639,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re
if (r[*pos] != '.') {
cname = tname;
tname = NULL;
-   exp_setname(sql->sa, exp, NULL, cname);
+   exp_setname(sql->sa, exp, NULL, sa_strdup(sql->sa, 
cname));
skipWS(r, pos);
} else {
(*pos)++;
@@ -1648,7 +1648,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re
convertIdent(cname);
(*pos)++;
skipWS(r, pos);
-   exp_setname(sql->sa, exp, tname, cname);
+   exp_setname(sql->sa, exp, sa_strdup(sql->sa, tname), 
sa_strdup(sql->sa, cname));
}
rlabel = try_update_label_count(sql, tname);
nlabel = try_update_label_count(sql, cname);
diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -951,10 +951,11 @@ exp_exception(allocator *sa, sql_exp *co
 void
 exp_setname(allocator *sa, sql_exp *e, const char *rname, const char *name )
 {
+   (void)sa;
e->alias.label = 0;
if (name)
-   e->alias.name = sa_strdup(sa, name);
-   e->alias.rname = (rname)?sa_strdup(sa, rname):NULL;
+   e->alias.name = name;
+   e->alias.rname = (rname);
 }
 
 void
diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -793,7 +793,7 @@ rel_label( mvc *sql, sql_rel *r, int all
char tname[16], *tnme;
char cname[16], *cnme = NULL;
 
-   tnme = number2name(tname, sizeof(tname), nr);
+   tnme = sa_strdup(sql->sa, number2name(tname, sizeof(tname), nr));
if (!is_simple_project(r->op))
r = rel_project(sql->sa, r, rel_projections(sql, r, NULL, 1, 
1));
if (!list_empty(r->exps)) {
@@ -804,7 +804,7 @@ rel_label( mvc *sql, sql_rel *r, int all
if (!is_freevar(e)) {
if (all) {
nr = ++sql->label;
-   cnme = number2name(cname, 
sizeof(cname), nr);
+   cnme = sa_strdup(sql->sa, 
number2name(cname, sizeof(cname), nr));
}
exp_setname(sql->sa, e, tnme, cnme );
}
@@ -815,7 +815,7 @@ rel_label( mvc *sql, sql_rel *r, int all
for (node *ne = ((list*)r->r)->h; ne; ne = ne->next) {
if (all) {
nr = ++sql->label;
-   cnme = number2name(cname, sizeof(cname), nr);
+   cnme = sa_strdup(sql->sa, number2name(cname, 
sizeof(cname), nr));
}
exp_setname(sql->sa, ne->data, tnme, cnme );
}
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -5870,7 +5870,7 @@ rel_joinquery_(sql_query *query, symbol 
list *outexps = new_exp_list(sql->sa), *exps;
node *m;
 
-   rnme = number2name(rname, sizeof(rname), ++sql->label);
+   rnme = sa_strdup(sql->sa, number2name(rname, sizeof(rname), 
++sql->label));
for (; n; n = n->next) {
char *nm = n->data.sval;
sql_exp *cond, *ls, *rs;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2024-04-07 Thread Niels Nes via checkin-list
Changeset: 15c345a6b882 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/15c345a6b882
Modified Files:
clients/Tests/exports.stable.out
Branch: no_type_bat
Log Message:

merged with default


diffs (12 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
@@ -404,7 +404,7 @@ void RTREEdestroy(BAT *b);
 bool RTREEexists(BAT *b);
 bool RTREEexists_bid(bat bid);
 void RTREEfree(BAT *b);
-BUN *RTREEsearch(BAT *b, mbr_t *inMBR, int result_limit);
+BUN *RTREEsearch(BAT *b, const void *inMBR, int result_limit);
 BUN SORTfnd(BAT *b, const void *v);
 BUN SORTfndfirst(BAT *b, const void *v);
 BUN SORTfndlast(BAT *b, const void *v);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2024-04-06 Thread Niels Nes via checkin-list
Changeset: 73cdbbcb3a7c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/73cdbbcb3a7c
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_batop.c
gdk/gdk_tm.c
sql/server/rel_optimize_sel.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 486 to 300 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
@@ -181,7 +181,6 @@ BAT *BATproject2(BAT *restrict l, BAT *r
 BAT *BATprojectchain(BAT **bats);
 gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT 
*sl, BAT *sr, bool li, bool hi, bool anti, bool symmetric, BUN estimate) 
__attribute__((__warn_unused_result__));
 gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bool force) 
__attribute__((__warn_unused_result__));
-gdk_return BATreplacepos(BAT *b, const oid *positions, BAT *n, bool autoincr, 
bool force) __attribute__((__warn_unused_result__));
 void BATrmprop(BAT *b, enum prop_t idx);
 void BATrmprop_nolock(BAT *b, enum prop_t idx);
 gdk_return BATrtree(BAT *wkb, BAT *mbr);
@@ -401,12 +400,10 @@ ssize_t OIDtoStr(str *dst, size_t *len, 
 BUN ORDERfnd(BAT *b, Heap *oidxh, const void *v);
 BUN ORDERfndfirst(BAT *b, Heap *oidxh, const void *v);
 BUN ORDERfndlast(BAT *b, Heap *oidxh, const void *v);
-void RTREEdecref(BAT *b);
 void RTREEdestroy(BAT *b);
 bool RTREEexists(BAT *b);
-bool RTREEexists_bid(bat *bid);
+bool RTREEexists_bid(bat bid);
 void RTREEfree(BAT *b);
-void RTREEincref(BAT *b);
 BUN *RTREEsearch(BAT *b, mbr_t *inMBR, int result_limit);
 BUN SORTfnd(BAT *b, const void *v);
 BUN SORTfndfirst(BAT *b, const void *v);
@@ -415,7 +412,6 @@ gdk_return STRMPcreate(BAT *b, BAT *s);
 void STRMPdestroy(BAT *b);
 BAT *STRMPfilter(BAT *b, BAT *s, const char *q, const bool keep_nils);
 bool THRhighwater(void);
-gdk_return TMsubcommit(BAT *bl) __attribute__((__warn_unused_result__));
 gdk_return TMsubcommit_list(bat *restrict subcommit, BUN *restrict sizes, int 
cnt, lng logno) __attribute__((__warn_unused_result__));
 void VALclear(ValPtr v);
 int VALcmp(const ValRecord *p, const ValRecord *q);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -357,13 +357,6 @@ gdk_export _Noreturn void GDKfatal(_In_z
 #include "stream.h"
 #include "mstring.h"
 
-#ifdef HAVE_RTREE
-#ifndef SIZEOF_RTREE_COORD_T
-#define SIZEOF_RTREE_COORD_T 4
-#endif
-#include 
-#endif
-
 #undef MIN
 #undef MAX
 #define MAX(A,B)   ((A)<(B)?(B):(A))
@@ -1314,8 +1307,6 @@ gdk_export gdk_return BATreplace(BAT *b,
__attribute__((__warn_unused_result__));
 gdk_export gdk_return BATupdate(BAT *b, BAT *p, BAT *n, bool force)
__attribute__((__warn_unused_result__));
-gdk_export gdk_return BATreplacepos(BAT *b, const oid *positions, BAT *n, bool 
autoincr, bool force)
-   __attribute__((__warn_unused_result__));
 gdk_export gdk_return BATupdatepos(BAT *b, const oid *positions, BAT *n, bool 
autoincr, bool force)
__attribute__((__warn_unused_result__));
 
@@ -1904,21 +1895,12 @@ gdk_export gdk_return BATsetstrimps(BAT 
 
 /* Rtree structure functions */
 #ifdef HAVE_RTREE
-//TODO REMOVE
-typedef struct mbr_t {
-   float xmin;
-   float ymin;
-   float xmax;
-   float ymax;
-
-} mbr_t;
-
 gdk_export bool RTREEexists(BAT *b);
-gdk_export bool RTREEexists_bid(bat *bid);
+gdk_export bool RTREEexists_bid(bat bid);
 gdk_export gdk_return BATrtree(BAT *wkb, BAT* mbr);
-gdk_export BUN* RTREEsearch(BAT *b, mbr_t *inMBR, int result_limit);
-gdk_export void RTREEdecref(BAT *b);
-gdk_export void RTREEincref(BAT *b);
+/* inMBR is really a struct mbr * from geom module, but that is not
+ * available here */
+gdk_export BUN* RTREEsearch(BAT *b, const void *inMBR, int result_limit);
 #endif
 
 gdk_export void RTREEdestroy(BAT *b);
@@ -2100,8 +2082,6 @@ BUNtoid(BAT *b, BUN p)
 /*
  * @+ Transaction Management
  */
-gdk_export gdk_return TMsubcommit(BAT *bl)
-   __attribute__((__warn_unused_result__));
 gdk_export gdk_return TMsubcommit_list(bat *restrict subcommit, BUN *restrict 
sizes, int cnt, lng logno)
__attribute__((__warn_unused_result__));
 
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1783,12 +1783,14 @@ BATupdate(BAT *b, BAT *p, BAT *n, bool f
return BATappend_or_update(b, p, NULL, n, true, false, force);
 }
 
+#if 0  /* not used */
 /* like BATreplace, but the positions are given by an array of oid values */
 gdk_return
 BATreplacepos(BAT *b, const oid *positions, BAT *n, bool autoincr, bool force)
 {
return BATappend_or_update(b, NULL, positions, n, false, autoincr, 
force);
 }
+#endif
 
 /* like BATreplace, but the positions are given by an array of oid
  * values, and they may specify locations beyond the end of b */
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ 

MonetDB: no_type_bat - merged with default

2024-04-04 Thread Niels Nes via checkin-list
Changeset: 64766f88abc0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/64766f88abc0
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk_bbp.c
sql/common/sql_types.c
sql/include/sql_catalog.h
sql/server/rel_select.c
sql/storage/bat/bat_storage.c
sql/storage/objectset.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 1065 to 300 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
@@ -224,6 +224,7 @@ void BBPlock(void);
 BAT *BBPquickdesc(bat b);
 int BBPreadBBPline(FILE *fp, unsigned bbpversion, int *lineno, BAT *bn, int 
*hashash, char *batname, char *filename, char **options);
 int BBPrelease(bat b);
+void BBPrelinquishbats(void);
 int BBPrename(BAT *b, const char *nme);
 int BBPretain(bat b);
 gdk_return BBPsave(BAT *b);
diff --git a/documentation/monetdbe/monetdbe_api.rst 
b/documentation/monetdbe/monetdbe_api.rst
--- a/documentation/monetdbe/monetdbe_api.rst
+++ b/documentation/monetdbe/monetdbe_api.rst
@@ -167,7 +167,7 @@ Miscellaneous
 
 Return the internal NULL representation for the specific monetdbe type or 
NULL when the type is not found/supported.
 
-.. c:function:: const char* monetdbe_get_mapi_port(void)
+.. c:function:: const char * monetdbe_get_mapi_port(void)
 
 Return the mapi port or NULL if not used.
 
@@ -175,6 +175,10 @@ Miscellaneous
 
 Return the MonetDBe version.
 
+.. c:function:: const char * monetdbe_load_extension(monetdbe_database dbhdl, 
char *module_name)
+
+Load the module with name, module_name. The lib_module_name.so (or ddl) 
should be in the applications current working directory.
+
 Caveats and errors
 --
 
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -120,6 +120,7 @@ static MT_Lock BBPnameLock = MT_LOCK_INI
 static bat BBP_hash[BBP_mask+1];   /* BBP logical name hash buckets */
 static MT_Lock GDKcacheLock = MT_LOCK_INITIALIZER(GDKcacheLock);
 static bat BBP_free;
+static uint32_t BBP_nfree;
 #define BBP_FREE_LOWATER   10
 #define BBP_FREE_HIWATER   50
 
@@ -2003,6 +2004,7 @@ BBPinit(bool allow_hge_upgrade)
if (BBP_desc(i)->batCacheid == 0) {
BBP_next(i) = BBP_free;
BBP_free = i;
+   BBP_nfree++;
}
}
 
@@ -2693,6 +2695,7 @@ maybeextend(void)
BBP_next(sz) = ++size;
}
BBP_next(size) = 0;
+   BBP_nfree += BBP_FREE_LOWATER;
return GDK_SUCCEED;
 }
 
@@ -2731,6 +2734,7 @@ BBPallocbat(int tt)
for (int x = 0; x < BBP_FREE_LOWATER && i; x++) {
assert(BBP_next(i) == 0 || BBP_next(i) > i);
t->nfreebats++;
+   BBP_nfree--;
l = i;
i = BBP_next(i);
}
@@ -2845,6 +2849,7 @@ BBPhandover(struct freebats *t, uint32_t
if (n >= t->nfreebats) {
bid = t->freebats;
t->freebats = 0;
+   BBP_nfree += t->nfreebats;
t->nfreebats = 0;
} else {
p = >freebats;
@@ -2852,6 +2857,7 @@ BBPhandover(struct freebats *t, uint32_t
p = _next(*p);
bid = *p;
*p = 0;
+   BBP_nfree += n;
t->nfreebats -= n;
}
p = _free;
@@ -2934,9 +2940,10 @@ BBPclear(bat i)
 }
 
 void
-BBPrelinquish(struct freebats *t)
+BBPrelinquishbats(void)
 {
-   if (t->nfreebats == 0)
+   struct freebats *t = MT_thread_getfreebats();
+   if (t == NULL || t->nfreebats == 0)
return;
MT_lock_set();
while (t->nfreebats > 0) {
@@ -4659,6 +4666,7 @@ gdk_bbp_reset(void)
int i;
 
BBP_free = 0;
+   BBP_nfree = 0;
while (BBPlimit > BBPINIT) {
BBPlimit -= BBPINIT;
assert(BBPlimit >= 0);
@@ -4892,4 +4900,5 @@ BBPprintinfo(void)
printf("%d persistent bats using %zu virtual memory (%zu malloced)\n", 
pn, pvm, pmem);
printf("%d transient bats using %zu virtual memory (%zu malloced)\n", 
tn, tvm, tmem);
printf("%d bats are \"hot\" (i.e. currently or recently used)\n", nh);
+   printf("%"PRIu32" bats are in global free list\n", BBP_nfree);
 }
diff --git a/gdk/gdk_bbp.h b/gdk/gdk_bbp.h
--- a/gdk/gdk_bbp.h
+++ b/gdk/gdk_bbp.h
@@ -92,6 +92,7 @@ gdk_export int BBPrelease(bat b);
 gdk_export void BBPkeepref(BAT *b)
__attribute__((__nonnull__(1)));
 gdk_export void BBPcold(bat i);
+gdk_export void BBPrelinquishbats(void);
 #ifdef GDKLIBRARY_JSON
 typedef gdk_return ((*json_storage_conversion)(char **, const char **));
 gdk_export gdk_return BBPjson_upgrade(json_storage_conversion);
diff 

MonetDB: no_type_bat - merged with default

2024-03-31 Thread Niels Nes via checkin-list
Changeset: 7f39648eece5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7f39648eece5
Modified Files:
clients/Tests/exports.stable.out
monetdb5/mal/mal.c
monetdb5/mal/mal_prelude.c
sql/server/rel_updates.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
tools/monetdbe/monetdbe.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 342 to 300 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
@@ -1320,6 +1320,7 @@ char *monetdbe_get_autocommit(monetdbe_d
 char *monetdbe_get_columns(monetdbe_database dbhdl, const char *schema_name, 
const char *table_name, size_t *column_count, monetdbe_column **columns);
 const char *monetdbe_get_mapi_port(void);
 int monetdbe_in_transaction(monetdbe_database dbhdl);
+char *monetdbe_load_extension(monetdbe_database dbhdl, const char *file);
 const void *monetdbe_null(monetdbe_database dbhdl, monetdbe_types t);
 int monetdbe_open(monetdbe_database *db, char *url, monetdbe_options *opts);
 char *monetdbe_prepare(monetdbe_database dbhdl, char *query, 
monetdbe_statement **stmt, monetdbe_result **result);
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -72,6 +72,7 @@ mal_init(char *modules[], bool embedded,
  */
str err;
 
+   mal_startup();
/* check that library that we're linked against is compatible with
 * the one we were compiled with */
int maj, min, patch;
diff --git a/monetdb5/mal/mal_embedded.c b/monetdb5/mal/mal_embedded.c
--- a/monetdb5/mal/mal_embedded.c
+++ b/monetdb5/mal/mal_embedded.c
@@ -56,6 +56,7 @@ malEmbeddedBoot(int workerlimit, int mem
if (embeddedinitialized)
return MAL_SUCCEED;
 
+   mal_startup();
{
/* unlock the vault, first see if we can find the file which
 * holds the secret */
diff --git a/monetdb5/mal/mal_linker.c b/monetdb5/mal/mal_linker.c
--- a/monetdb5/mal/mal_linker.c
+++ b/monetdb5/mal/mal_linker.c
@@ -155,7 +155,7 @@ loadLibrary(const char *filename, int fl
is_mod = (!is_monetdb5 && strcmp(filename, "embedded") != 0);
 
if (lastfile == 0 && is_mod) {  /* first load reference to local 
functions */
-   str msg = loadLibrary("monetdb5", flag);
+   str msg = loadLibrary("monetdb5", flag>=0?flag:0);
if (msg != MAL_SUCCEED)
return msg;
}
@@ -184,7 +184,9 @@ loadLibrary(const char *filename, int fl
if (mod_path == NULL) {
int len;
 
-   if (is_mod)
+   if (is_mod && flag < 0)
+   len = snprintf(nme, FILENAME_MAX, ".%c%s_%s%s", 
DIR_SEP, SO_PREFIX, s, SO_EXT);
+   else if (is_mod)
len = snprintf(nme, FILENAME_MAX, "%s_%s%s", SO_PREFIX, 
s, SO_EXT);
else
len = snprintf(nme, FILENAME_MAX, "%s%s%s", SO_PREFIX, 
s, SO_EXT);
@@ -198,7 +200,7 @@ loadLibrary(const char *filename, int fl
handle = dlopen(is_monetdb5 ? NULL : nme, RTLD_NOW | 
RTLD_GLOBAL);
 #endif
if (!handle) {
-   if (flag)
+   if (flag>0)
throw(LOADER, "loadLibrary", 
RUNTIME_FILE_NOT_FOUND ":%s", s);
return MAL_SUCCEED;
}
diff --git a/monetdb5/mal/mal_prelude.c b/monetdb5/mal/mal_prelude.c
--- a/monetdb5/mal/mal_prelude.c
+++ b/monetdb5/mal/mal_prelude.c
@@ -29,7 +29,7 @@
 #include "mal_prelude.h"
 
 #define MAX_MAL_MODULES 128
-static int mel_modules = 0;
+static int mel_modules = 0, mel_modules_loaded = 0;
 static struct mel_module {
const char *name;
mel_atom *atoms;
@@ -42,6 +42,7 @@ int
 mal_startup(void)
 {
/* clean up the MAL internal structures before restart */
+   mel_modules_loaded = 0;
return 0;
 }
 
@@ -390,7 +391,7 @@ malPrelude(Client c, int listing, int *s
 
(void) listing;
/* Add all atom definitions */
-   for (i = 0; i < mel_modules; i++) {
+   for (i = mel_modules_loaded; i < mel_modules; i++) {
if (mel_module[i].atoms) {
msg = addAtom(mel_module[i].atoms);
if (msg)
@@ -399,7 +400,7 @@ malPrelude(Client c, int listing, int *s
}
 
/* Add the signatures, where we now have access to all atoms */
-   for (i = 0; i < mel_modules; i++) {
+   for (i = mel_modules_loaded; i < mel_modules; i++) {
const char *name = putName(mel_module[i].name);
if (!malLibraryEnabled(name))
continue;
@@ -434,6 +435,7 @@ malPrelude(Client c, int listing, int *s
return msg;
}
}
+   mel_modules_loaded = 

MonetDB: no_type_bat - merged with default

2024-03-29 Thread Niels Nes via checkin-list
Changeset: 833c074e4e33 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/833c074e4e33
Modified Files:
sql/server/rel_dump.c
sql/server/rel_rewriter.c
Branch: no_type_bat
Log Message:

merged with default


diffs (34 lines):

diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -610,6 +610,13 @@ rel_print_refs(mvc *sql, stream* fout, s
switch (rel->op) {
case op_basetable:
case op_table:
+   if (rel->op == op_table && rel->l) {
+   rel_print_refs(sql, fout, rel->l, depth, refs, 
decorate);
+   if (rel_is_ref(rel->l) && !find_ref(refs, rel->l)) {
+   rel_print_rel(sql, fout, rel->l, depth, refs, 
decorate);
+   list_append(refs, rel->l);
+   }
+   }
break;
case op_ddl:
if (rel->flag == ddl_list || rel->flag == ddl_exception) {
diff --git a/sql/server/rel_rewriter.c b/sql/server/rel_rewriter.c
--- a/sql/server/rel_rewriter.c
+++ b/sql/server/rel_rewriter.c
@@ -33,10 +33,10 @@ exps_simplify_exp(visitor *v, list *exps
 
needed = (exp_is_true(e) || exp_is_false(e) || 
(is_compare(e->type) && e->flag == cmp_or));
}
-   /* if there's only one expression and it is false, we have to keep it */
-   if (list_length(exps) == 1 && exp_is_false(exps->h->data))
-   return exps;
if (needed) {
+   /* if there's only one expression and it is false, we have to 
keep it */
+   if (list_length(exps) == 1 && exp_is_false(exps->h->data))
+   return exps;
list *nexps = sa_list(v->sql->sa);
for (node *n=exps->h; n; n = n->next) {
sql_exp *e = n->data;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2024-03-29 Thread Niels Nes via checkin-list
Changeset: 92d5b3119299 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/92d5b3119299
Modified Files:
sql/server/rel_optimize_sel.c
Branch: no_type_bat
Log Message:

merged with default


diffs (34 lines):

diff --git a/sql/server/rel_optimize_sel.c b/sql/server/rel_optimize_sel.c
--- a/sql/server/rel_optimize_sel.c
+++ b/sql/server/rel_optimize_sel.c
@@ -2110,15 +2110,15 @@ order_joins(visitor *v, list *rels, list
r1[ci] = rels_find_one_rel(rels_a, nr_rels, cje->l);
r2[ci] = rels_find_one_rel(rels_a, nr_rels, cje->r);
if (r1[ci])
-   h[ci] |= 1L<<((r1[ci]-1)%64);
+   h[ci] |= LL_CONSTANT(1)<<((r1[ci]-1)%64);
if (r2[ci])
-   h[ci] |= 1L<<((r2[ci]-1)%64);
+   h[ci] |= LL_CONSTANT(1)<<((r2[ci]-1)%64);
if (cje->f) {
r3[ci] = rels_find_one_rel(rels_a, nr_rels, 
cje->f);
if (r3[ci] == r2[ci])
r3[ci] = 0;
if (r3[ci])
-   h[ci] |= 1L<<((r3[ci]-1)%64);
+   h[ci] |= 
LL_CONSTANT(1)<<((r3[ci]-1)%64);
}
}
}
@@ -2188,9 +2188,9 @@ order_joins(visitor *v, list *rels, list
 
cje = djn->data;
if ((h[cje->tmp] & rel_mask) > 0) {
-   if (rel_mask & (1L<<((r1[cje->tmp]-1)%64)))
+   if (rel_mask & 
(LL_CONSTANT(1)<<((r1[cje->tmp]-1)%64)))
l = rels_a[r1[cje->tmp]];
-   if (rel_mask & (1L<<((r2[cje->tmp]-1)%64)))
+   if (rel_mask & 
(LL_CONSTANT(1)<<((r2[cje->tmp]-1)%64)))
r = rels_a[r2[cje->tmp]];
}
if (!direct) { /* check if atleast one side in n_rels */
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2024-03-29 Thread Niels Nes via checkin-list
Changeset: ce333a3dce58 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ce333a3dce58
Modified Files:
MonetDB.spec
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_tm.c
gdk/gdk_utils.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_resource.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/mal/bbp.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cat.c
sql/server/rel_optimize_sel.c
sql/server/rel_select.c
sql/server/rel_unnest.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.y
sql/storage/bat/bat_storage.c
sql/storage/store.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 6146 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -807,9 +807,7 @@ do
   /usr/sbin/semodule -s ${selinuxvariant} -i \
 %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || :
 done
-# use /var/run/monetdb since that's what it says in the monetdb.fc file
-# it says that because /run/monetdb for some reason doesn't work
-/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
/var/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
+/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
 /usr/bin/systemctl try-restart monetdbd.service
 
 %postun selinux
@@ -838,6 +836,13 @@ fi
 %setup -q
 
 %build
+# from Fedora 40, selinux uses /run where before it used /var/run
+# the code is now for Fedora 40 but needs a patch for older versions
+%if (0%{?fedora} < 40)
+sed -i 
's;@CMAKE_INSTALL_FULL_RUNSTATEDIR@/monetdb;@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/run/monetdb;'
 misc/selinux/monetdb.fc.in
+sed -i 's/1\.2/1.1/' misc/selinux/monetdb.te
+%endif
+
 %cmake3 \
 -DCMAKE_INSTALL_RUNSTATEDIR=/run \
 -DRELEASE_VERSION=ON \
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,14 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Tue Mar 26 2024 Sjoerd Mullender 
+- Made some changes to how BAT descriptors are allocated.  They are now
+  allocated in bulk, meaning fewer malloc/free calls during processing.
+- Removed macro BBP_cache and its associated code.  Checking whether a
+  BAT is cached (loaded in memory) can be done by checking the BBPLOADED
+  bit in the BBP_status value.  Getting a pointer to the BAT descriptor
+  can be done by using BBP_desc.
+
 * Tue Feb  6 2024 Sjoerd Mullender 
 - The SQL transaction ID is no longer saved in the BBP.dir file.
 
diff --git a/gdk/ChangeLog.Dec2023 b/gdk/ChangeLog.Dec2023
--- a/gdk/ChangeLog.Dec2023
+++ b/gdk/ChangeLog.Dec2023
@@ -1,6 +1,12 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Thu Mar 28 2024 Sjoerd Mullender 
+- Threads have their own list of free bats.  The list was not returned
+  to the system when a thread exited, meaning that the free bats that
+  were in the list would not be reused by any thread.  This has been
+  fixed.
+
 * Mon Mar 18 2024 Sjoerd Mullender 
 - Fixed a couple of deadlock situations, one actually observed, one
   never observed.
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -956,10 +956,9 @@ gdk_export void HEAPincref(Heap *h);
  * field.
  */
 typedef struct {
-   BAT *cache; /* if loaded: BAT* handle */
char *logical;  /* logical name (may point at bak) */
char bak[16];   /* logical name backup (tmp_%o) */
-   BAT *desc;  /* the BAT descriptor */
+   BAT descr;  /* the BAT descriptor */
char *options;  /* A string list of options */
 #if SIZEOF_VOID_P == 4
char physical[20];  /* dir + basename for storage */
@@ -993,19 +992,18 @@ gdk_export BBPrec *BBP[N_BBPINIT];
 
 /* fast defines without checks; internal use only  */
 #define BBP_record(i)  BBP[(i)>>BBPINITLOG][(i)&(BBPINIT-1)]
-#define BBP_cache(i)   BBP_record(i).cache
 #define BBP_logical(i) BBP_record(i).logical
 #define BBP_bak(i) BBP_record(i).bak
 #define BBP_next(i)BBP_record(i).next
 #define BBP_physical(i)BBP_record(i).physical
 #define BBP_options(i) BBP_record(i).options
-#define BBP_desc(i)BBP_record(i).desc
+#define BBP_desc(i)(_record(i).descr)
 #define BBP_refs(i)BBP_record(i).refs
 #define BBP_lrefs(i)   BBP_record(i).lrefs
 #define BBP_status(i)  ((unsigned) ATOMIC_GET(_record(i).status))
 #define BBP_pid(i) BBP_record(i).pid
 #define BATgetId(b)BBP_logical((b)->batCacheid)
-#define BBPvalid(i)(BBP_logical(i) != NULL && *BBP_logical(i) != '.')
+#define BBPvalid(i)

MonetDB: no_type_bat - merged with default

2024-02-13 Thread Niels Nes via checkin-list
Changeset: eb85d2d0b45e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/eb85d2d0b45e
Removed Files:
monetdb5/optimizer/opt_macro.c
Modified Files:
MonetDB.spec
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/Tests/exports.stable.out
clients/mapilib/mapi.c
gdk/gdk.h
gdk/gdk_atoms.c
gdk/gdk_atoms.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_calc_convert.c
gdk/gdk_tm.c
gdk/gdk_utils.c
gdk/gdk_value.c
monetdb5/mal/mal.c
monetdb5/mal/mal.h
monetdb5/mal/mal_atom.c
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_builder.h
monetdb5/mal/mal_client.h
monetdb5/mal/mal_function.c
monetdb5/mal/mal_function.h
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_interpreter.h
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_listing.h
monetdb5/mal/mal_module.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_prelude.c
monetdb5/mal/mal_private.h
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_resolve.c
monetdb5/mal/mal_resolve.h
monetdb5/mal/mal_resource.c
monetdb5/mal/mal_runtime.c
monetdb5/mal/mal_session.c
monetdb5/mal/mal_stack.c
monetdb5/mal/mal_type.c
monetdb5/mal/mal_type.h
monetdb5/mal/mel.h
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/iterator.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manual.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/profiler.c
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_dict.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_support.c
sql/backends/monet5/CMakeLists.txt
sql/backends/monet5/mal_backend.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_cast_impl_int.h
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/backends/monet5/sql_subquery.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/csv/csv.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/netcdf/netcdf.c
sql/backends/monet5/vaults/shp/shp.c
sql/common/CMakeLists.txt
sql/common/sql_changeset.c
sql/common/sql_hash.c
sql/common/sql_list.c
sql/common/sql_stack.c
sql/common/sql_string.c
sql/common/sql_string.h
sql/common/sql_types.c
sql/common/sql_types.h
sql/include/CMakeLists.txt
sql/include/sql_catalog.h
sql/include/sql_hash.h
sql/include/sql_list.h
sql/include/sql_mem.h
sql/include/sql_stack.h
sql/server/rel_basetable.c
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_exp.h
sql/server/rel_optimize_others.c
sql/server/rel_optimize_sel.c
sql/server/rel_planner.c
sql/server/rel_prop.c
sql/server/rel_prop.h
sql/server/rel_propagate.c
sql/server/rel_psm.c
sql/server/rel_psm.h
sql/server/rel_rel.c
sql/server/rel_rel.h
sql/server/rel_remote.c
sql/server/rel_remote.h
sql/server/rel_rewriter.c
sql/server/rel_rewriter.h
sql/server/rel_schema.c
sql/server/rel_schema.h
sql/server/rel_select.c
sql/server/rel_sequence.c
sql/server/rel_statistics.c
sql/server/rel_statistics.h
sql/server/rel_statistics_functions.c
sql/server/rel_unnest.c

MonetDB: no_type_bat - merged with default

2023-12-13 Thread Niels Nes via checkin-list
Changeset: 8a457c94e289 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8a457c94e289
Modified Files:
MonetDB.spec
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_profiler.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/mal/mal_io.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/server/rel_select.c
sql/server/sql_partition.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 5442 to 300 lines):

diff --git a/ChangeLog.Dec2023 b/ChangeLog.Dec2023
--- a/ChangeLog.Dec2023
+++ b/ChangeLog.Dec2023
@@ -1,6 +1,10 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Fri Dec  1 2023 Sjoerd Mullender 
+- All binary packages are now signed with a new key with key fingerprint
+  DBCE 5625 94D7 1959 7B54  CE85 3F1A D47F 5521 A603.
+
 * Mon Oct 30 2023 Sjoerd Mullender 
 - The ranges of merge partitions are now pushed down into the low
   level GDK operations, giving them a handle to sometimes execute more
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -96,7 +96,11 @@ Source: https://www.monetdb.org/download
 # that doesn't exist and we need systemd, so instead we just require
 # the macro file that contains the definitions.
 # We need checkpolicy and selinux-policy-devel for the SELinux policy.
-BuildRequires: /usr/lib/rpm/macros.d/macros.systemd
+%if 0%{?rhel} != 7
+BuildRequires: systemd-rpm-macros
+%else
+BuildRequires: systemd
+%endif
 BuildRequires: checkpolicy
 BuildRequires: selinux-policy-devel
 BuildRequires: hardlink
@@ -220,6 +224,8 @@ accelerators.  It also has an SQL front 
 This package contains a shared library (libstream) which is needed by
 various other components.
 
+%ldconfig_scriptlets stream
+
 %files stream
 %license COPYING
 %defattr(-,root,root)
@@ -250,9 +256,35 @@ library.
 %{_includedir}/monetdb/stream_socket.h
 %{_libdir}/pkgconfig/monetdb-stream.pc
 
+%package client-lib
+Summary: MonetDB - Monet Database Management System Client Programs
+Group: Applications/Databases
+%if (0%{?fedora} >= 22)
+Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
+Recommends: MonetDB5-server%{?_isa} = %{version}-%{release}
+%endif
+
+%description client-lib
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators.  It also has an SQL front end.
+
+This package contains libmapi.so, the main client library used by both
+mclient, msqldump and by the ODBC driver.  If you want to use MonetDB,
+you will very likely need this package.
+
+%ldconfig_scriptlets client-lib
+
+%files client-lib
+%license COPYING
+%defattr(-,root,root)
+%{_libdir}/libmapi.so.*
+
 %package client
 Summary: MonetDB - Monet Database Management System Client Programs
 Group: Applications/Databases
+Requires: %{name}-client-lib%{?_isa} = %{version}-%{release}
 %if (0%{?fedora} >= 22)
 Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
 Recommends: MonetDB5-server%{?_isa} = %{version}-%{release}
@@ -274,14 +306,13 @@ MonetDB, you will very likely need this 
 %defattr(-,root,root)
 %{_bindir}/mclient
 %{_bindir}/msqldump
-%{_libdir}/libmapi.so.*
-%doc %{_mandir}/man1/mclient.1.gz
-%doc %{_mandir}/man1/msqldump.1.gz
+%{_mandir}/man1/mclient.1*
+%{_mandir}/man1/msqldump.1*
 
 %package client-devel
 Summary: MonetDB - Monet Database Management System Client Programs
 Group: Applications/Databases
-Requires: %{name}-client%{?_isa} = %{version}-%{release}
+Requires: %{name}-client-lib%{?_isa} = %{version}-%{release}
 Requires: %{name}-stream-devel%{?_isa} = %{version}-%{release}
 
 %description client-devel
@@ -303,7 +334,7 @@ This package contains the files needed t
 %package client-odbc
 Summary: MonetDB ODBC driver
 Group: Applications/Databases
-Requires: %{name}-client%{?_isa} = %{version}-%{release}
+Requires: %{name}-client-lib%{?_isa} = %{version}-%{release}
 Requires(post): %{_bindir}/odbcinst
 Requires(postun): %{_bindir}/odbcinst
 
@@ -477,11 +508,40 @@ format.
 %{_libdir}/monetdb5/lib_fits.so
 %endif
 
+%package -n MonetDB5-libs
+Summary: MonetDB - Monet Database Main Libraries
+Group: Applications/Databases
+
+%description -n MonetDB5-libs
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators.  It 

MonetDB: no_type_bat - merged with default

2023-11-25 Thread Niels Nes via checkin-list
Changeset: 592651b9c139 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/592651b9c139
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 3932 to 300 lines):

diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -1,10 +1,10 @@
 Source: monetdb
-Section: misc
+Section: database
 Priority: optional
 Maintainer: MonetDB BV 
 Homepage: https://www.monetdb.org/
 Vcs-Browser: https://dev.monetdb.org/hg/MonetDB/
-Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/
+Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ -b default
 Build-Depends: debhelper (>= 12), cmake (>= 3.12), bison,
  libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.10.0),
  libpcre3-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0),
diff --git a/geom/ChangeLog.Dec2023 b/geom/ChangeLog.Dec2023
--- a/geom/ChangeLog.Dec2023
+++ b/geom/ChangeLog.Dec2023
@@ -1,3 +1,23 @@
 # ChangeLog file for geom
 # This file is updated with Maddlog
 
+* Thu Nov 23 2023 Sjoerd Mullender 
+- Because recent changes to the geom module require the use of geos
+  3.10, the geom module is no longer available in older versions of
+  Debian and Ubuntu.  Specifically, Debian 10 and 11 (buster and
+  bullseye) and Ubuntu 20.04 (Focal Fossa) are affected.  There is no
+  automatic upgrade available for databases that were geom enabled to
+  databases that are not, so dump + restore is the only option (if no
+  geom types are actually used).
+
+* Thu Nov 23 2023 stefanos mavros 
+- Implements Rtree index in GDK layer based on librtree. The index is
+  used in the implementation of the filter functions ST_Intersects and
+  ST_Dwithin for geometric points.
+- Improves shapefile support by replacing functions SHPattach,
+  SHPpartialimport, ahd SHPimport with SHPload.
+- Introduces functions ST_DistanceGeographic, ST_DwithinGeographic,
+  ST_IntersectsGeographic, ST_CoversGeographic, ST_Collects with geodesic
+  semantics. ST_Transform can be used to convert geodetic into geographic
+  data using libPROJ.
+
diff --git a/sql/ChangeLog.Dec2023 b/sql/ChangeLog.Dec2023
--- a/sql/ChangeLog.Dec2023
+++ b/sql/ChangeLog.Dec2023
@@ -14,6 +14,8 @@
information_schema.routines
information_schema.parameters
information_schema.sequences
+  For details see
+  
https://www.monetdb.org/documentation/user-guide/sql-catalog/information_schema/
 
   Most views have been extended (after the standard columns) with MonetDB
   specific information columns such as schema_id, table_id, column_id, etc.
diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -6044,6 +6044,93 @@ sql_update_dec2023(Client c, mvc *sql, s
output = NULL;
}
 
+   /* 52_describe.sql New function sys.sql_datatype(mtype varchar(999), 
digits integer, tscale integer, nameonly boolean, shortname boolean) */
+   sql_allocator *old_sa = sql->sa;
+   if ((sql->sa = sa_create(sql->pa)) != NULL) {
+   list *l;
+   if ((l = sa_list(sql->sa)) != NULL) {
+   sql_subtype t1, t2;
+   sql_find_subtype(, "int", 0, 0);
+   sql_find_subtype(, "boolean", 0, 0);
+   list_append(l, );
+   list_append(l, );
+   list_append(l, );
+   list_append(l, );
+   list_append(l, );
+   if (!sql_bind_func_(sql, s->base.name, "sql_datatype", 
l, F_FUNC, true)) {
+   const char *cmds =
+   "CREATE FUNCTION sys.sql_datatype(mtype 
varchar(999), digits integer, tscale integer, nameonly boolean, shortname 
boolean)\n"
+   "  RETURNS varchar(1024)\n"
+   "BEGIN\n"
+   "  RETURN\n"
+   "CASE mtype\n"
+   "WHEN 'char' THEN sys.ifthenelse(nameonly 
OR digits <= 1, sys.ifthenelse(shortname, 'CHAR', 'CHARACTER'), 
sys.ifthenelse(shortname, 'CHAR(', 'CHARACTER(') || digits || ')')\n"
+   "WHEN 'varchar' THEN 
sys.ifthenelse(nameonly OR digits = 0, sys.ifthenelse(shortname, 'VARCHAR', 
'CHARACTER VARYING'), sys.ifthenelse(shortname, 'VARCHAR(', 'CHARACTER 
VARYING(') || digits || ')')\n"
+   "WHEN 'clob' THEN sys.ifthenelse(nameonly 
OR digits = 0, sys.ifthenelse(shortname, 'CLOB', 'CHARACTER LARGE OBJECT'), 
sys.ifthenelse(shortname, 'CLOB(', 'CHARACTER LARGE OBJECT(') || digits || 
')')\n"
+   "WHEN 'blob' THEN sys.ifthenelse(nameonly 
OR digits = 0, sys.ifthenelse(shortname, 'BLOB', 'BINARY LARGE OBJECT'), 
sys.ifthenelse(shortname, 'BLOB(', 'BINARY LARGE OBJECT(') || digits || ')')\n"
+   "WHEN 'int' THEN 'INTEGER'\n"
+

MonetDB: no_type_bat - merged with default

2023-11-22 Thread Niels Nes via checkin-list
Changeset: 82ec1059fb20 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/82ec1059fb20
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
monetdb5/mal/mal.h
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_listing.h
monetdb5/mal/mal_session.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/mdb.c
sql/backends/monet5/sql_gencode.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 2368 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -817,3 +817,4 @@ e6eb06773c17035954ac5d001cfe1f09ff3425cc
 5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15
 c5b17681b55e6ca155db28be59913699e561502a Dec2023_root
 c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe Jun2023_17
+c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe Jun2023_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -490,8 +490,6 @@ Provides: MonetDB5-server-hugeint%{?_isa
 Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
 Suggests: %{name}-client%{?_isa} = %{version}-%{release}
 %endif
-# versions up to 1.0.5 don't accept the queryid field in the result set
-Conflicts: python-pymonetdb < 1.0.6
 Requires(pre): systemd
 
 %description -n MonetDB5-server
@@ -700,7 +698,7 @@ package.  You probably don't need this, 
 Summary: MonetDB - Monet Database Management System
 Group: Applications/Databases
 Requires: %{name}-client-tests = %{version}-%{release}
-Requires: python3dist(pymonetdb) >= 1.0.6
+Requires: python3dist(pymonetdb)
 BuildArch: noarch
 
 %description testing-python
diff --git a/clients/Tests/MAL-signatures.test 
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -3219,11 +3219,6 @@ command bat.getName(X_0:bat[:any_1]):str
 BKCgetBBPname;
 Gives back the logical name of a BAT.
 bat
-getRole
-command bat.getRole(X_0:bat[:any_1]):str 
-BKCgetRole;
-Returns the rolename of the head column of a BAT.
-bat
 getSequenceBase
 command bat.getSequenceBase(X_0:bat[:any_1]):oid 
 BKCgetSequenceBase;
@@ -3464,11 +3459,6 @@ command bat.setAccess(X_0:bat[:any_1], X
 BKCsetAccess;
 Try to change the update access privileges @to this BAT. Mode:@r[ead-only] 
 - allow only read access.@a[append-only]   - allow reads and 
update.@w[riteable]  - allow all operations.@BATs are updatable by default. 
On making a BAT read-only, @all subsequent updates fail with an error 
message.@Returns the BAT itself.
 bat
-setColumn
-command bat.setColumn(X_0:bat[:any_1], X_1:str):void 
-BKCsetColumn;
-Give a logical name to the tail column of a BAT.
-bat
 setHash
 command bat.setHash(X_0:bat[:any_1]):bit 
 BKCsetHash;
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
@@ -187,7 +187,6 @@ gdk_return BATreplace(BAT *b, BAT *p, BA
 gdk_return BATreplacepos(BAT *b, const oid *positions, BAT *n, bool autoincr, 
bool force) __attribute__((__warn_unused_result__));
 void BATrmprop(BAT *b, enum prop_t idx);
 void BATrmprop_nolock(BAT *b, enum prop_t idx);
-gdk_return BATroles(BAT *b, const char *tnme);
 gdk_return BATrtree(BAT *wkb, BAT *mbr);
 BAT *BATsample(BAT *b, BUN n);
 BAT *BATsample_with_seed(BAT *b, BUN n, uint64_t seed);
@@ -570,7 +569,7 @@ void *mdlopen(const char *library, int m
 const char *mercurial_revision(void) __attribute__((__const__));
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
 int mo_builtin_settings(opt **Set);
-char *mo_find_option(opt *set, int setlen, const char *name);
+const char *mo_find_option(opt *set, int setlen, const char *name);
 void mo_free_options(opt *set, int setlen);
 void mo_print_options(opt *set, int setlen);
 int mo_system_config(opt **Set, int setlen);
@@ -720,7 +719,7 @@ const char *mcrypt_getHashAlgorithms(voi
 char *mcrypt_hashPassword(const char *algo, const char *password, const char 
*challenge);
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
 int mo_builtin_settings(opt **Set);
-char *mo_find_option(opt *set, int setlen, const char *name);
+const char *mo_find_option(opt *set, int setlen, const char *name);
 void mo_free_options(opt *set, int setlen);
 void mo_print_options(opt *set, int setlen);
 int mo_system_config(opt **Set, int setlen);
@@ -810,7 +809,6 @@ int UTF8_strwidth(const char *restrict s
 void addMalException(MalBlkPtr mb, str msg);
 str addOptimizerPipe(Client cntxt, MalBlkPtr mb, const char *name);
 str addPipeDefinition(Client cntxt, const char *name, const char *pipe);
-void addtoMalBlkHistory(MalBlkPtr mb);
 const char *affectedRowsRef;
 

MonetDB: no_type_bat - merged with default

2023-11-18 Thread Niels Nes via checkin-list
Changeset: 6f839fbeb93c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6f839fbeb93c
Modified Files:
gdk/gdk_bat.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_private.h
monetdb5/modules/kernel/algebra.c
monetdb5/modules/mal/mal_mapi.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 2582 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -816,3 +816,4 @@ 6f88424ebfd9d82c072cf21d89070e04321983da
 e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13
 5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15
 c5b17681b55e6ca155db28be59913699e561502a Dec2023_root
+c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe Jun2023_17
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -867,6 +867,14 @@ fi
 %endif
 
 %changelog
+* Thu Nov 16 2023 Sjoerd Mullender  - 11.47.17-20231116
+- Rebuilt.
+
+* Thu Nov 16 2023 Sjoerd Mullender  - 11.47.17-20231116
+- gdk: Fixed a regression where after a while the write-ahead log files
+  weren't being rotated, meaning from some point onwards, the newest
+  file just kept on growing.
+
 * Thu Nov 09 2023 Sjoerd Mullender  - 11.47.15-20231109
 - Rebuilt.
 - GH#7410: SIGSEGV cause database corruption
diff --git a/clients/mapilib/connect.c b/clients/mapilib/connect.c
--- a/clients/mapilib/connect.c
+++ b/clients/mapilib/connect.c
@@ -111,7 +111,9 @@ scan_sockets(Mapi mid)
errmsg = allocated_errmsg;
}
if (errmsg) {
-   return mapi_setError(mid, errmsg, __func__, MERROR);
+   MapiMsg err = mapi_setError(mid, errmsg, __func__, MERROR);
+   free(allocated_errmsg);
+   return err;
}
return establish_connection(mid);
 }
@@ -697,11 +699,13 @@ mapi_handshake(Mapi mid)
) {
mapi_close_handle(hdl);
close_connection(mid);
-   return mapi_printError(
+   MapiMsg err = mapi_printError(
mid, __func__, MERROR,
"%s: %s",
error_message ? error_message : 
"invalid redirect",
red);
+   free(error_message);
+   return err;
}
 
if (strncmp("mapi:merovingian", red, 16) == 0) {
diff --git a/clients/mapilib/connect_openssl.c 
b/clients/mapilib/connect_openssl.c
--- a/clients/mapilib/connect_openssl.c
+++ b/clients/mapilib/connect_openssl.c
@@ -342,21 +342,25 @@ wrap_tls(Mapi mid, SOCKET sock)
BIO_free_all(bio); // drops first ref
BIO_free_all(bio); // drops second ref
free(hostcolonport);
-   return croak_openssl(mid, __func__, "openssl_rstream: %s", 
mnstr_peek_error(rstream));
+   msg = croak_openssl(mid, __func__, "openssl_rstream: %s", 
mnstr_peek_error(rstream));
+   close_stream(rstream);
+   return msg;
}
// On error: free 'bio' and close 'rstream'.
stream *wstream = openssl_wstream(hostcolonport ? hostcolonport : "ssl 
wstream", bio);
free(hostcolonport);
if (wstream == NULL || mnstr_errnr(wstream) != MNSTR_NO__ERROR) {
BIO_free_all(bio);
-   mnstr_close(rstream);
-   return croak_openssl(mid, __func__, "openssl_wstream: %s", 
mnstr_peek_error(wstream));
+   close_stream(rstream);
+   msg = croak_openssl(mid, __func__, "openssl_wstream: %s", 
mnstr_peek_error(wstream));
+   close_stream(wstream);
+   return msg;
}
// On error: free 'rstream' and 'wstream'.
msg = mapi_wrap_streams(mid, rstream, wstream);
if (msg != MOK) {
-   mnstr_close(rstream);
-   mnstr_close(wstream);
+   close_stream(rstream);
+   close_stream(wstream);
return msg;
}
// 'rstream' and 'wstream' are part of 'mid' now.
diff --git a/clients/mapilib/connect_unix.c b/clients/mapilib/connect_unix.c
--- a/clients/mapilib/connect_unix.c
+++ b/clients/mapilib/connect_unix.c
@@ -70,6 +70,7 @@ scan_unix_sockets(Mapi mid)
candidates[ncandidates].port = port;
candidates[ncandidates++].priority = st.st_uid == me ? 
0 : 1;
}
+   closedir(dir);
}
 
mapi_log_record(mid, "CONN", "Found %d Unix domain sockets", 
ncandidates);
@@ -180,5 +181,3 @@ connect_socket_unix(Mapi mid)
 
return wrap_socket(mid, s);
 }
-
-
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1847,7 +1847,7 @@ set_uri(Mapi mid)
const char *host = 

MonetDB: no_type_bat - merged with default

2023-11-13 Thread Niels Nes via checkin-list
Changeset: 627199b5968f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/627199b5968f
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_atoms.h
gdk/gdk_bbp.c
monetdb5/mal/mal_instruction.c
sql/backends/monet5/sql_scenario.c
sql/storage/sql_storage.h
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 1043 to 300 lines):

diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 11.48.0
+current_version = 11.50.0
 commit = False
 tag = False
 
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -815,3 +815,4 @@ 6f88424ebfd9d82c072cf21d89070e04321983da
 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_SP2_release
 e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13
 5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15
+c5b17681b55e6ca155db28be59913699e561502a Dec2023_root
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,20 +1,3 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
-* Mon Oct 30 2023 Sjoerd Mullender 
-- The ranges of merge partitions are now pushed down into the low
-  level GDK operations, giving them a handle to sometimes execute more
-  efficiently.
-
-* Thu Jul 27 2023 Niels Nes 
-- Removed the PYTHON MAP external language option, as after a fork the
-  synchronization primitives could be in any state, leading to deadlocks.
-  During the upgrade function definitions will fallback to the normal
-  PYTHON language option.
-
-* Mon Jul 17 2023 Panagiotis Koutsourakis 
-- Implemented direct masking for strimp construction. The strimps
-  datastructure now keeps an array of 65K 64-bit integers that is zero
-  everywhere except at the indexes that correspond to header pairs. The
-  entry for the nth pair in order has the nth bit of the bitstring
-  on. These can be used to quickly construct bitstrings.
diff --git a/ChangeLog b/ChangeLog.Dec2023
copy from ChangeLog
copy to ChangeLog.Dec2023
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -7,7 +7,7 @@
 # Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
 
 %global name MonetDB
-%global version 11.48.0
+%global version 11.50.0
 %{!?buildno: %global buildno %(date +%Y%m%d)}
 
 # Use bcond_with to add a --with option; i.e., "without" is default.
diff --git a/clients/ChangeLog b/clients/ChangeLog.Dec2023
copy from clients/ChangeLog
copy to clients/ChangeLog.Dec2023
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
@@ -3,7 +3,7 @@ int ALIGNsynced(BAT *b1, BAT *b2);
 int ATOMallocate(const char *nme);
 void *ATOMdup(int id, const void *val);
 uint8_t ATOMelmshift(int sz) __attribute__((__const__));
-char *ATOMformat(int id, const void *val);
+char *ATOMformat(int id, const void *val) 
__attribute__((__warn_unused_result__));
 gdk_return ATOMheap(int id, Heap *hp, size_t cap) 
__attribute__((__warn_unused_result__));
 int ATOMindex(const char *nme);
 size_t ATOMlen(int id, const void *v);
@@ -310,6 +310,7 @@ gdk_return GDKmunmap(void *addr, int mod
 int GDKnr_threads;
 void GDKprepareExit(void);
 void GDKprintinfo(void);
+void GDKprintinforegister(void (*func)(void));
 void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, 
size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast);
 void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2))) 
__attribute__((__warn_unused_result__));
 gdk_return GDKrebuild_segment_tree(oid ncount, oid data_size, BAT *st, void 
**segment_tree, oid **levels_offset, oid *nlevels);
@@ -423,7 +424,7 @@ int VALcmp(const ValRecord *p, const Val
 void *VALconvert(int typ, ValPtr t);
 ValPtr VALcopy(ValPtr dst, const ValRecord *src);
 void VALempty(ValPtr v);
-char *VALformat(const ValRecord *res);
+char *VALformat(const ValRecord *res) __attribute__((__warn_unused_result__));
 void *VALget(ValPtr v);
 ValPtr VALinit(ValPtr d, int tpe, const void *s);
 bool VALisnil(const ValRecord *v);
@@ -558,6 +559,7 @@ gdk_return log_delta(logger *lg, BAT *ui
 void log_destroy(logger *lg);
 log_bid log_find_bat(logger *lg, log_id id);
 gdk_return log_flush(logger *lg, ulng saved_id);
+void log_printinfo(logger *lg);
 int log_sequence(logger *lg, int seq, lng *id);
 gdk_return log_tend(logger *lg);
 gdk_return log_tflush(logger *lg, ulng log_file_id, ulng commit_ts);
@@ -873,8 +875,8 @@ char *concatErrors(char *err1, const cha
 const char *connectRef;
 const char *containsRef;
 str convertConstant(malType type, ValPtr vr);
-InstrPtr copyInstruction(InstrPtr p);
-InstrPtr copyInstructionArgs(InstrPtr p, int args);
+InstrPtr copyInstruction(const InstrRecord *p);
+InstrPtr copyInstructionArgs(const InstrRecord *p, int args);
 MalBlkPtr copyMalBlk(MalBlkPtr mb);
 const char *copy_fromRef;
 const char 

MonetDB: no_type_bat - merged with default

2023-11-11 Thread Niels Nes via checkin-list
Changeset: 1f0ae05c8581 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1f0ae05c8581
Branch: no_type_bat
Log Message:

merged with default


diffs (53 lines):

diff --git a/sql/test/BugTracker-2023/Tests/union-query-7401.test 
b/sql/test/BugTracker-2023/Tests/union-query-7401.test
--- a/sql/test/BugTracker-2023/Tests/union-query-7401.test
+++ b/sql/test/BugTracker-2023/Tests/union-query-7401.test
@@ -15,31 +15,31 @@ 1
 20
 2
 
-query II rowsort
+query II rowsort gb-over-bt
 select a as a, b as b from t7401
 UNION
 select b as a, a as b from t7401
 
 1
 10
+10
+1
 2
 20
-10
-1
 20
 2
 
-query II rowsort
+query II rowsort gb-over-bt
 select a as a, b as b from t7401
 UNION ALL
 select b as a, a as b from t7401
 
 1
 10
+10
+1
 2
 20
-10
-1
 20
 2
 
diff --git a/sql/test/prepare/Tests/limit_in_prepare.Bug-2552.stable.out 
b/sql/test/prepare/Tests/limit_in_prepare.Bug-2552.stable.out
--- a/sql/test/prepare/Tests/limit_in_prepare.Bug-2552.stable.out
+++ b/sql/test/prepare/Tests/limit_in_prepare.Bug-2552.stable.out
@@ -45,7 +45,7 @@ stdout of test 'limit_in_prepare.Bug-255
 [ "int",   32, 0,  "", "rr",   "id"]
 [ "bigint",64, 0,  NULL,   NULL,   NULL]
 #exec  5 (1);
-% sys.rr # table_name
+% .rr # table_name
 % id # name
 % int # type
 % 1 # length
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2023-11-10 Thread Niels Nes via checkin-list
Changeset: d9f74d6e37de for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d9f74d6e37de
Modified Files:
clients/Tests/exports.stable.out
sql/backends/monet5/sql_gencode.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 12953 to 300 lines):

diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -16,51 +16,120 @@ jobs:
 strategy:
   fail-fast: false  # don't stop other jobs
   matrix:
-branch: [ master ]
-os: [ ubuntu-latest, macos-latest ]
+os: [ ubuntu-latest, macos-latest, windows-latest ]
+c_compiler: [ gcc, clang, cl ]
+include:
+  - os: windows-latest
+c_compiler: cl
+  - os: macos-latest
+c_compiler: clang
+  - os: macos-latest
+c_compiler: gcc-12
+  - os: ubuntu-latest
+c_compiler: gcc
+  - os: ubuntu-latest
+c_compiler: clang
+exclude:
+  - os: windows-latest
+c_compiler: gcc
+  - os: windows-latest
+c_compiler: clang
+  - os: macos-latest
+c_compiler: cl
+  - os: macos-latest
+c_compiler: gcc
+  - os: ubuntu-latest
+c_compiler: cl
 runs-on: ${{ matrix.os }}
 steps:
   - name: Checkout
 uses: actions/checkout@v3
 with:
-  ref: ${{ matrix.branch }}
+  ref: ${{ github.ref }}
+
+  - name: install pymonetdb cryptography
+run: pip3 install pymonetdb cryptography
 
   - name: make MonetDB on linux
 run: |
   mkdir build
   cd build 
-  cmake ..  -DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.branch }} 
-DPY3INTEGRATION=OFF -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF -DRINTEGRATION=OFF 
\
+  cmake ..  \
+-DCMAKE_INSTALL_PREFIX=$HOME/MDB \
+-DPY3INTEGRATION=OFF \
+-DRINTEGRATION=OFF \
+-DCMAKE_BUILD_TYPE=Release \
+-DASSERT=OFF \
+-DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
 -DCMAKE_SUMMARY=ON
   make install -j3
 if: runner.os == 'Linux'
-  -
-name: brew packages
+
+  - name: brew packages
 run: brew install bison
 if: runner.os == 'macOS'
+
   - name: make MonetDB on macos
 run: |
   mkdir build
   cd build 
-  cmake ..  -DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.branch }} 
-DPY3INTEGRATION=OFF -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF -DRINTEGRATION=OFF 
 \
--DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison 
-DCMAKE_SUMMARY=ON
+  cmake .. \
+-DCMAKE_INSTALL_PREFIX=$HOME/MDB \
+-DPY3INTEGRATION=OFF \
+-DRINTEGRATION=OFF  \
+-DCMAKE_BUILD_TYPE=Release \
+-DASSERT=OFF \
+-DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
+-DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison \
+-DCMAKE_SUMMARY=ON
   make install -j3
 if: runner.os == 'macOS'
+
+  - name: choco packages
+run: |
+  choco install winflexbison3
+  vcpkg install libiconv bzip2 libxml2 pcre zlib getopt 
+if: runner.os == 'Windows'
+
+  - name: make MonetDB on Windows
+shell: pwsh
+run: |
+  mkdir build
+  cd build 
+  cmake ..  -DCMAKE_INSTALL_PREFIX=C:\MDB 
-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake 
-DPY3INTEGRATION=OFF -DRINTEGRATION=OFF  -DCMAKE_BUILD_TYPE=Release 
-DASSERT=OFF -DCMAKE_C_COMPILER=${{ matrix.c_compiler }}  -DCMAKE_SUMMARY=ON
+  cmake --build . --target install
+if: runner.os == 'Windows'
+
   - name: ctest 
 run: |
   cd build 
-  cmake --build . --target test
-  - name: install pymonetdb
-run: pip3 install pymonetdb
-  - name: which python
-run: 
-  head -n 1 $HOME/${{ matrix.branch }}/bin/Mtest.py 
+  cmake --build . --target ${{ runner.os == 'Windows' && 'RUN_TESTS' 
|| 'test' }}
+if: runner.os != 'Windows'
+
   - name: mtest 
 run: |
-  #cd build 
-  #cmake --build . --target mtest
-  PATH=$HOME/${{ matrix.branch }}/bin:$PATH $HOME/${{ matrix.branch 
}}/bin/Mtest.py -r --debug=0 --ci --no-html
+  PATH=$HOME/MDB/bin:$PATH $HOME/MDB/bin/Mtest.py -r --debug=0 --ci 
--no-html --TSTTRGBASE=.
+if: runner.os != 'Windows'
+
+  - name: ctest 
+shell: pwsh
+run: |
+  $env:PATH = 
'C:\MDB\lib;C:\MDB\lib\monetdb5;C:\MDB\bin;C:\vcpkg\installed\x64-windows\bin;C:\vcpkg\installed\x64-windows\debug\bin;'
 + $env:PATH
+  cd build 
+  cmake --build . --target ${{ runner.os == 'Windows' && 'RUN_TESTS' 
|| 'test' }}
+if: runner.os == 'Windows'
+
+  - name: mtest 
+shell: pwsh

MonetDB: no_type_bat - merged with default

2023-11-02 Thread Niels Nes via checkin-list
Changeset: b2126d0be2c7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b2126d0be2c7
Branch: no_type_bat
Log Message:

merged with default

___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: no_type_bat - merged with default

2023-11-02 Thread Niels Nes via checkin-list
Changeset: fc00ecc1e42f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fc00ecc1e42f
Modified Files:
gdk/gdk.h
monetdb5/mal/mal_runtime.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_remap.c
sql/backends/monet5/sql.c
Branch: no_type_bat
Log Message:

merged with default


diffs (truncated from 877 to 300 lines):

diff --git a/clients/Tests/MAL-signatures-hge.test 
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -30330,11 +30330,6 @@ nil_2time_timestamp;
 cast to timestamp and check for overflow
 batcalc
 timestamp
-pattern batcalc.timestamp(X_0:bat[:oid], X_1:int, 
X_2:bat[:BAT]):bat[:timestamp] 
-nil_2time_timestamp;
-cast to timestamp and check for overflow
-batcalc
-timestamp
 pattern batcalc.timestamp(X_0:bat[:timestamp], X_1:bat[:oid], 
X_2:int):bat[:timestamp] 
 timestamp_2time_timestamp;
 cast timestamp to timestamp and check for overflow
diff --git a/clients/Tests/MAL-signatures.test 
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -21555,11 +21555,6 @@ nil_2time_timestamp;
 cast to timestamp and check for overflow
 batcalc
 timestamp
-pattern batcalc.timestamp(X_0:bat[:oid], X_1:int, 
X_2:bat[:BAT]):bat[:timestamp] 
-nil_2time_timestamp;
-cast to timestamp and check for overflow
-batcalc
-timestamp
 pattern batcalc.timestamp(X_0:bat[:timestamp], X_1:bat[:oid], 
X_2:int):bat[:timestamp] 
 timestamp_2time_timestamp;
 cast timestamp to timestamp and check for overflow
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,11 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Thu Nov  2 2023 Sjoerd Mullender 
+- Removed the compiled-in limit on the number of threads that can be used.
+  The number of threads are still limited, but the limit is dictated
+  solely by the operating system and the availability of enough memory.
+
 * Thu Sep 28 2023 Sjoerd Mullender 
 - We now prevent accidental upgrades from a database without 128 bit
   integers to one with 128 bit integers (also known as HUGEINT) from
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1971,18 +1971,7 @@ VALptr(const ValRecord *v)
}
 }
 
-/*
- * The kernel maintains a central table of all active threads.  They
- * are indexed by their tid. The structure contains information on the
- * input/output file descriptors, which should be set before a
- * database operation is started. It ensures that output is delivered
- * to the proper client.
- *
- * The Thread structure should be ideally made directly accessible to
- * each thread. This speeds up access to tid and file descriptors.
- */
-#define THREADS1024
-#define THREADDATA 3
+#define THREADS1024/* maximum value for gdk_nr_threads */
 
 typedef struct threadStruct *Thread;
 
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2773,8 +2773,7 @@ internal_log_bat(logger *lg, BAT *b, log
if (b->ttype == TYPE_msk) {
BATiter bi = bat_iterator(b);
if (offset % 32 == 0) {
-   if (!mnstr_writeIntArray
-   (lg->current->output_log, (int *) ((char *) bi.base 
+ offset / 32),
+   if (!mnstr_writeIntArray(lg->current->output_log, (int 
*) ((char *) bi.base + offset / 32),
 (size_t) ((nr + 31) / 32)))
ok = GDK_FAIL;
} else {
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -262,36 +262,6 @@ THRhighwater(void)
return false;
 }
 
-static uint32_t allocated[THREADS / 32];
-static MT_Lock alloclock = MT_LOCK_INITIALIZER(alloclock);
-
-static MT_Id
-alloc_thread(void)
-{
-   MT_Id mtid = 0;
-   MT_lock_set();
-   for (int i = 0; i < THREADS / 32; i++) {
-   if (allocated[i] != ~UINT32_C(0)) {
-   int x = candmask_lobit(~allocated[i]);
-   allocated[i] |= UINT32_C(1) << x;
-   mtid = (MT_Id) (i * 32 + x + 1);
-   break;
-   }
-   }
-   MT_lock_unset();
-   return mtid;
-}
-
-static void
-dealloc_thread(MT_Id mtid)
-{
-   assert(mtid > 0 && mtid <= THREADS);
-   mtid--;
-   MT_lock_set();
-   allocated[mtid / 32] &= ~(UINT32_C(1) << (mtid % 32));
-   MT_lock_unset();
-}
-
 void
 dump_threads(void)
 {
@@ -329,7 +299,6 @@ static void
 rm_mtthread(struct mtthread *t)
 {
struct mtthread **pt;
-   MT_Id mtid = t->tid;
 
assert(t != );
thread_lock();
@@ -340,7 +309,6 @@ rm_mtthread(struct mtthread *t)