MonetDB: Jun2023 - utf8ncasecmp patch for utf8.h lib. Allow nega...

2023-12-20 Thread Lucas Pereira via checkin-list
Changeset: f0ca4dc1d9a4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f0ca4dc1d9a4
Modified Files:
monetdb5/modules/atoms/Tests/startswith.test
monetdb5/modules/atoms/utf8.h
Branch: Jun2023
Log Message:

utf8ncasecmp patch for utf8.h lib. Allow negative return.
***
Add test for startsWith that leverages utf8ncasecmp.


diffs (42 lines):

diff --git a/monetdb5/modules/atoms/Tests/startswith.test 
b/monetdb5/modules/atoms/Tests/startswith.test
--- a/monetdb5/modules/atoms/Tests/startswith.test
+++ b/monetdb5/modules/atoms/Tests/startswith.test
@@ -86,3 +86,8 @@ drop table foo
 
 statement ok
 drop table bar
+
+query T
+select ['Camón Romasan'] startsWith ['camu', true];
+
+false
diff --git a/monetdb5/modules/atoms/utf8.h b/monetdb5/modules/atoms/utf8.h
--- a/monetdb5/modules/atoms/utf8.h
+++ b/monetdb5/modules/atoms/utf8.h
@@ -564,7 +564,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xe0 & *s1);
   const utf8_int32_t c2 = (0xe0 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
@@ -575,7 +575,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xf0 & *s1);
   const utf8_int32_t c2 = (0xf0 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
@@ -586,7 +586,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xf8 & *s1);
   const utf8_int32_t c2 = (0xf8 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Merge with Jun2023 branch.

2023-12-20 Thread Lucas Pereira via checkin-list
Changeset: fcecca5153bd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fcecca5153bd
Modified Files:
sql/backends/monet5/sql.c
Branch: Dec2023
Log Message:

Merge with Jun2023 branch.


diffs (53 lines):

diff --git a/monetdb5/modules/atoms/Tests/startswith.test 
b/monetdb5/modules/atoms/Tests/startswith.test
--- a/monetdb5/modules/atoms/Tests/startswith.test
+++ b/monetdb5/modules/atoms/Tests/startswith.test
@@ -86,3 +86,8 @@ drop table foo
 
 statement ok
 drop table bar
+
+query T
+select ['Camón Romasan'] startsWith ['camu', true];
+
+false
diff --git a/monetdb5/modules/atoms/utf8.h b/monetdb5/modules/atoms/utf8.h
--- a/monetdb5/modules/atoms/utf8.h
+++ b/monetdb5/modules/atoms/utf8.h
@@ -564,7 +564,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xe0 & *s1);
   const utf8_int32_t c2 = (0xe0 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
@@ -575,7 +575,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xf0 & *s1);
   const utf8_int32_t c2 = (0xf0 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
@@ -586,7 +586,7 @@ utf8_constexpr14_impl int utf8ncasecmp(c
   const utf8_int32_t c1 = (0xf8 & *s1);
   const utf8_int32_t c2 = (0xf8 & *s2);
 
-  if (c1 < c2) {
+  if (c1 != c2) {
 return c1 - c2;
   } else {
 return 0;
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
@@ -8,6 +8,7 @@
  * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
  */
 
+
 /*
  * authors M Kersten, N Nes
  * SQL support implementation
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Support URL's to allow encrypted sqldumping

2023-12-20 Thread Joeri van Ruth via checkin-list
Changeset: d04024f54648 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d04024f54648
Modified Files:
clients/mapiclient/msqldump.c
Branch: Dec2023
Log Message:

Support URL's to allow encrypted sqldumping

msqldump -d monetdbs://localhost:43000/demo


diffs (27 lines):

diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c
--- a/clients/mapiclient/msqldump.c
+++ b/clients/mapiclient/msqldump.c
@@ -203,7 +203,11 @@ main(int argc, char **argv)
passwd = passwd_allocated;
}
 
-   mid = mapi_mapi(host, port, user, passwd, "sql", dbname);
+   if (dbname != NULL && strchr(dbname, ':') != NULL) {
+   mid = mapi_mapiuri(dbname, user, passwd, "sql");
+   } else {
+   mid = mapi_mapi(host, port, user, passwd, "sql", dbname);
+   }
free(user_allocated);
user_allocated = NULL;
free(passwd_allocated);
@@ -215,6 +219,10 @@ main(int argc, char **argv)
fprintf(stderr, "failed to allocate Mapi structure\n");
exit(2);
}
+   if (mapi_error(mid)) {
+   mapi_explain(mid, stderr);
+   exit(2);
+   }
mapi_set_time_zone(mid, 0);
mapi_reconnect(mid);
if (mapi_error(mid)) {
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Improve error message

2023-12-20 Thread Joeri van Ruth via checkin-list
Changeset: e07c56d8cfea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e07c56d8cfea
Modified Files:
clients/mapilib/parseurl.c
Branch: Dec2023
Log Message:

Improve error message


diffs (12 lines):

diff --git a/clients/mapilib/parseurl.c b/clients/mapilib/parseurl.c
--- a/clients/mapilib/parseurl.c
+++ b/clients/mapilib/parseurl.c
@@ -514,7 +514,7 @@ parse_by_scheme(msettings *mp, scanner *
msetting_set_bool(mp, MP_TLS, false);
return parse_classic(mp, sc);
} else {
-   return complain(sc, "unknown scheme '%s'", scheme);
+   return complain(sc, "unknown URL scheme '%s'", scheme);
}
 }
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Downgrade system call failures from CRITICAL ...

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: a1ed08d78626 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a1ed08d78626
Modified Files:
gdk/gdk.h
gdk/gdk_system_private.h
Branch: Dec2023
Log Message:

Downgrade system call failures from CRITICAL to ERROR.


diffs (24 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1717,7 +1717,7 @@ gdk_export gdk_return GDKtracer_fill_com
GDKtracer_log(__FILE__, __func__, __LINE__, M_ERROR,\
  GDK, NULL, format, ##__VA_ARGS__)
 #define GDKsyserr(errno, format, ...)  \
-   GDKtracer_log(__FILE__, __func__, __LINE__, M_CRITICAL, \
+   GDKtracer_log(__FILE__, __func__, __LINE__, M_ERROR,\
  GDK, GDKstrerror(errno, (char[64]){0}, 64),   \
  format, ##__VA_ARGS__)
 #define GDKsyserror(format, ...)   GDKsyserr(errno, format, ##__VA_ARGS__)
diff --git a/gdk/gdk_system_private.h b/gdk/gdk_system_private.h
--- a/gdk/gdk_system_private.h
+++ b/gdk/gdk_system_private.h
@@ -31,7 +31,7 @@ bool MT_thread_override_limits(void)
  MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), \
  (LPTSTR) _osmsgbuf, sizeof(_osmsgbuf),\
  NULL);\
-   GDKtracer_log(__FILE__, __func__, __LINE__, M_CRITICAL, \
+   GDKtracer_log(__FILE__, __func__, __LINE__, M_ERROR,\
  GDK, _osmsgbuf, format, ##__VA_ARGS__);   \
SetLastError(0);\
} while (0)
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Removed alarm.sleep with a BAT argument.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 16163c504a2c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/16163c504a2c
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
monetdb5/modules/kernel/alarm.c
Branch: default
Log Message:

Removed alarm.sleep with a BAT argument.


diffs (163 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
@@ -3364,11 +3364,6 @@ unsafe pattern alarm.sleep(X_0:any_1):vo
 ALARMsleep;
 Sleep a few milliseconds
 alarm
-sleep
-unsafe pattern alarm.sleep(X_0:bat[:any_1]):bat[:any_1] 
-ALARMsleep;
-Sleep a few milliseconds and return the slept value
-alarm
 time
 unsafe command alarm.time():int 
 ALARMtime;
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
@@ -2799,11 +2799,6 @@ unsafe pattern alarm.sleep(X_0:any_1):vo
 ALARMsleep;
 Sleep a few milliseconds
 alarm
-sleep
-unsafe pattern alarm.sleep(X_0:bat[:any_1]):bat[:any_1] 
-ALARMsleep;
-Sleep a few milliseconds and return the slept value
-alarm
 time
 unsafe command alarm.time():int 
 ALARMtime;
diff --git a/monetdb5/modules/kernel/alarm.c b/monetdb5/modules/kernel/alarm.c
--- a/monetdb5/modules/kernel/alarm.c
+++ b/monetdb5/modules/kernel/alarm.c
@@ -38,7 +38,8 @@ ALARMusec(lng *ret)
 
 #define SLEEP_SINGLE(TPE)  
\
do {
\
-   TPE *res = (TPE*) getArgReference(stk, pci, 0), *msecs = (TPE*) 
getArgReference(stk,pci,1); \
+   TPE *res = getArgReference_##TPE(stk, pci, 0);  
\
+   const TPE *msecs = getArgReference_##TPE(stk,pci,1);
\
if (is_##TPE##_nil(*msecs)) 
\
throw(MAL, "alarm.sleep", "NULL values not allowed for 
sleeping time"); \
if (*msecs < 0) 
\
@@ -47,97 +48,24 @@ ALARMusec(lng *ret)
*res = *msecs;  
\
} while (0)
 
-#define SLEEP_MULTI(TPE)   
\
-   do {
\
-   for (i = 0; i < j ; i++) {  
\
-   if (is_##TPE##_nil(bb[i])) {
\
-   bat_iterator_end(&bi);  
\
-   BBPreclaim(r);  
\
-   BBPunfix(b->batCacheid);
\
-   throw(MAL, "alarm.sleep", "NULL values not 
allowed for sleeping time"); \
-   }   
\
-   if (bb[i] < 0) {
\
-   bat_iterator_end(&bi);  
\
-   BBPreclaim(r);  
\
-   BBPunfix(b->batCacheid);
\
-   throw(MAL, "alarm.sleep", "Cannot sleep for a 
negative time"); \
-   }   
\
-   }   
\
-   for (i = 0; i < j ; i++) {  
\
-   MT_sleep_ms((unsigned int) bb[i]);  
\
-   rb[i] = bb[i];  
\
-   }

MonetDB: default - Don't assume tkey is false on a newly created...

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 3f1002580157 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3f1002580157
Modified Files:
gdk/gdk_bat.c
gdk/gdk_project.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/str.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batcolor.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/txtsim.c
sql/backends/monet5/UDF/pyapi3/emit3.c
sql/backends/monet5/sql_rank.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/netcdf/netcdf.c
Branch: default
Log Message:

Don't assume tkey is false on a newly created bat.


diffs (truncated from 362 to 300 lines):

diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -970,8 +970,7 @@ COLcopy(BAT *b, int tt, bool writable, r
BUN h = BATcount(b);
bn->tsorted = bi.sorted;
bn->trevsorted = bi.revsorted;
-   if (bi.key)
-   BATkey(bn, true);
+   BATkey(bn, bi.key);
bn->tnonil = bi.nonil;
bn->tnil = bi.nil;
if (bi.nosorted > 0 && bi.nosorted < h)
@@ -996,6 +995,7 @@ COLcopy(BAT *b, int tt, bool writable, r
} else {
bn->tsorted = bn->trevsorted = false; /* set based on count 
later */
bn->tnonil = bn->tnil = false;
+   bn->tkey = false;
bn->tnosorted = bn->tnorevsorted = 0;
bn->tnokey[0] = bn->tnokey[1] = 0;
}
diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c
--- a/gdk/gdk_project.c
+++ b/gdk/gdk_project.c
@@ -1141,6 +1141,7 @@ BATprojectchain(BAT **bats)
bn->trevsorted = ba[0].cnt <= 1;
bn->tnonil = nonil & b->tnonil;
bn->tseqbase = oid_nil;
+   bn->tkey = (ba[0].cnt <= 1);
/* note, b may point to one of the bats in tobedeleted, so
 * reclaim after the last use of b */
while (ndelete-- > 0)
diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c
--- a/monetdb5/modules/atoms/batxml.c
+++ b/monetdb5/modules/atoms/batxml.c
@@ -50,6 +50,7 @@
(X)->tsorted =  false;  
\
(X)->trevsorted =  false;   
\
(X)->tnonil = true; 
\
+   (X)->tkey = false;  
\
} while (0)
 
 #define finalizeResult(X,Y,Z)  \
diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c
--- a/monetdb5/modules/atoms/json.c
+++ b/monetdb5/modules/atoms/json.c
@@ -2030,9 +2030,6 @@ JSONunfoldInternal(bat *od, bat *key, ba
JSONfree(jt);
throw(MAL, "json.unfold", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
-   bk->tsorted = true;
-   bk->trevsorted = false;
-   bk->tnonil = true;
 
if (od) {
bo = COLnew(0, TYPE_oid, 64, TRANSIENT);
@@ -2041,9 +2038,6 @@ JSONunfoldInternal(bat *od, bat *key, ba
JSONfree(jt);
throw(MAL, "json.unfold", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
}
-   bo->tsorted = true;
-   bo->trevsorted = false;
-   bo->tnonil = true;
}
 
bv = COLnew(0, TYPE_json, 64, TRANSIENT);
@@ -2053,9 +2047,6 @@ JSONunfoldInternal(bat *od, bat *key, ba
BBPreclaim(bk);
throw(MAL, "json.unfold", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
-   bv->tsorted = true;
-   bv->trevsorted = false;
-   bv->tnonil = true;
 
if (jt->elm[0].kind == JSON_ARRAY || jt->elm[0].kind == JSON_OBJECT)
msg = JSONunfoldContainer(jt, 0, (od ? bo : 0), bk, bv, &o);
@@ -2097,9 +2088,6 @@ JSONkeyTable(bat *ret, json *js)
JSONfree(jt);
throw(MAL, "json.keys", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
-   bn->tsorted = true;
-   bn->trevsorted = false;
-   bn->tnonil = true;
 
for (i = jt->elm[0].next; i; i = jt->elm[i].next) {
r = JSONgetValue(jt, i);
@@ -2197,9 +2185,6 @@ JSONvalueTable(bat *ret, json *js)
JSONfree(jt);
throw(MAL, "json.values", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
-   bn->tsorted = true;
-   bn->trevsorted = false;
-   bn->tnonil = true;
 
for (i = jt->elm[0].next; i; i = jt->elm[i].next) {
if (jt->elm[i].kind == JSON_ELEMENT)
diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c
--- a/monetdb5/modules/atoms/mt

MonetDB: default - All values in an empty bat are distinct, i.e....

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 7a04a07b0063 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7a04a07b0063
Modified Files:
gdk/gdk_bat.c
monetdb5/modules/kernel/bat5.c
sql/test/BugTracker-2016/Tests/storagemodel.test
Branch: default
Log Message:

All values in an empty bat are distinct, i.e. set tkey to true.


diffs (44 lines):

diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -75,7 +75,7 @@ BATcreatedesc(oid hseq, int tt, bool hea
.hseqbase = hseq,
 
.ttype = tt,
-   .tkey = false,
+   .tkey = true,
.tnonil = true,
.tnil = false,
.tsorted = ATOMlinear(tt),
diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -65,7 +65,6 @@ BKCnewBAT(bat *res, const int *tt, const
if (bn == NULL)
throw(MAL, "bat.new", GDK_EXCEPTION);
*res = bn->batCacheid;
-   bn->tkey = true;/* COLnew leaves it as false */
BBPretain(bn->batCacheid);
BBPunfix(bn->batCacheid);
return MAL_SUCCEED;
diff --git a/sql/test/BugTracker-2016/Tests/storagemodel.test 
b/sql/test/BugTracker-2016/Tests/storagemodel.test
--- a/sql/test/BugTracker-2016/Tests/storagemodel.test
+++ b/sql/test/BugTracker-2016/Tests/storagemodel.test
@@ -92,7 +92,7 @@ 0
 8000
 0
 1
-NULL
+1
 1
 
 statement ok
@@ -198,7 +198,7 @@ 0
 8000
 0
 1
-NULL
+1
 1
 
 statement ok
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Merge with Dec2023 branch.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 1cfa4916a274 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1cfa4916a274
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
monetdb5/modules/atoms/mtime.c
monetdb5/modules/kernel/bat5.c
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (truncated from 805 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
@@ -3999,16 +3999,6 @@ command bat.replace(X_0:bat[:any_1], X_1
 BKCbun_inplace_force;
 Replace the tail value of one BUN that has some head value.
 bat
-reuse
-command bat.reuse(X_0:bat[:any_1], X_1:bat[:oid]):bat[:any_1] 
-BKCreuseBAT;
-Shuffle the values around to restore a dense representation of buns.
-bat
-reuseMap
-command bat.reuseMap(X_0:bat[:any_1], X_1:bat[:oid]):bat[:oid] 
-BKCreuseBATmap;
-Derive the oid mapping for reuse BAT based on list of to-be-deleted
-bat
 save
 command bat.save(X_0:bat[:any_1]):void 
 BKCsave2;
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
@@ -3424,16 +3424,6 @@ command bat.replace(X_0:bat[:any_1], X_1
 BKCbun_inplace_force;
 Replace the tail value of one BUN that has some head value.
 bat
-reuse
-command bat.reuse(X_0:bat[:any_1], X_1:bat[:oid]):bat[:any_1] 
-BKCreuseBAT;
-Shuffle the values around to restore a dense representation of buns.
-bat
-reuseMap
-command bat.reuseMap(X_0:bat[:any_1], X_1:bat[:oid]):bat[:oid] 
-BKCreuseBATmap;
-Derive the oid mapping for reuse BAT based on list of to-be-deleted
-bat
 save
 command bat.save(X_0:bat[:any_1]):void 
 BKCsave2;
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
@@ -753,10 +753,6 @@ str AUTHunlockVault(const char *password
 str AUTHverifyPassword(const char *passwd);
 str BKCmirror(bat *ret, const bat *bid);
 str BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role);
-str BKCreuseBAT(bat *ret, const bat *bid, const bat *did);
-str BKCsetName(void *r, const bat *bid, const char *const *s);
-str BKCsetPersistent(void *r, const bat *bid);
-str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
 str CLTsessions(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str CLTshutdown(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str COPYrejects(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c
--- a/clients/mapiclient/msqldump.c
+++ b/clients/mapiclient/msqldump.c
@@ -203,7 +203,11 @@ main(int argc, char **argv)
passwd = passwd_allocated;
}
 
-   mid = mapi_mapi(host, port, user, passwd, "sql", dbname);
+   if (dbname != NULL && strchr(dbname, ':') != NULL) {
+   mid = mapi_mapiuri(dbname, user, passwd, "sql");
+   } else {
+   mid = mapi_mapi(host, port, user, passwd, "sql", dbname);
+   }
free(user_allocated);
user_allocated = NULL;
free(passwd_allocated);
@@ -215,6 +219,10 @@ main(int argc, char **argv)
fprintf(stderr, "failed to allocate Mapi structure\n");
exit(2);
}
+   if (mapi_error(mid)) {
+   mapi_explain(mid, stderr);
+   exit(2);
+   }
mapi_set_time_zone(mid, 0);
mapi_reconnect(mid);
if (mapi_error(mid)) {
diff --git a/clients/mapilib/parseurl.c b/clients/mapilib/parseurl.c
--- a/clients/mapilib/parseurl.c
+++ b/clients/mapilib/parseurl.c
@@ -514,7 +514,7 @@ parse_by_scheme(msettings *mp, scanner *
msetting_set_bool(mp, MP_TLS, false);
return parse_classic(mp, sc);
} else {
-   return complain(sc, "unknown scheme '%s'", scheme);
+   return complain(sc, "unknown URL scheme '%s'", scheme);
}
 }
 
diff --git a/documentation/source/build-fedora.rst 
b/documentation/source/build-fedora.rst
--- a/documentation/source/build-fedora.rst
+++ b/documentation/source/build-fedora.rst
@@ -16,7 +16,7 @@ These packages are required.
 
 | cmake# version >= 3.12
 | bison
-| gettext-devel
+| gcc
 | libxml2-devel
 | mercurial
 
diff --git a/documentation/source/build.rst b/documentation/source/build.rst
--- a/documentation/source/build.rst
+++ b/documentation/source/build.rst
@@ -6,18 +6,18 @@ Summary
 ===
 
 For cmake, you should always build the code in a separate directory, say
-"build". This directory should be outside of the source code tree. The
-results of the build are stored in this directory. The location on the
+"build".  This directory should be outside of the source code tree.  The
+results of the build are stored in this directory.  The location in the
 files

MonetDB: Dec2023 - Initialize variables.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 4ff0ffd61e96 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4ff0ffd61e96
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: Dec2023
Log Message:

Initialize variables.


diffs (12 lines):

diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c
--- a/monetdb5/modules/mal/txtsim.c
+++ b/monetdb5/modules/mal/txtsim.c
@@ -887,7 +887,7 @@ minjarowinklerjoin(BAT **r1, BAT **r2, B
BUN n;
struct canditer lci, rci;
const char *lvals, *rvals, *lvars, *rvars;
-   int lwidth, rwidth, lb, ub, m = -1, *x_flags = NULL, *y_flags = NULL;
+   int lwidth, rwidth, lb = 0, ub = 0, m = -1, *x_flags = NULL, *y_flags = 
NULL;
str_item *ssl = NULL, *ssr = NULL, shortest;
str msg = MAL_SUCCEED;
const bool sliding_window_allowed = threshold > (2.01 + 
JARO_WINKLER_PREFIX_LEN * JARO_WINKLER_SCALING_FACTOR) / 3.0;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Merge with Dec2023 branch.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 4098d0425403 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4098d0425403
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (12 lines):

diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c
--- a/monetdb5/modules/mal/txtsim.c
+++ b/monetdb5/modules/mal/txtsim.c
@@ -887,7 +887,7 @@ minjarowinklerjoin(BAT **r1, BAT **r2, B
BUN n;
struct canditer lci, rci;
const char *lvals, *rvals, *lvars, *rvars;
-   int lwidth, rwidth, lb, ub, m = -1, *x_flags = NULL, *y_flags = NULL;
+   int lwidth, rwidth, lb = 0, ub = 0, m = -1, *x_flags = NULL, *y_flags = 
NULL;
str_item *ssl = NULL, *ssr = NULL, shortest;
str msg = MAL_SUCCEED;
const bool sliding_window_allowed = threshold > (2.01 + 
JARO_WINKLER_PREFIX_LEN * JARO_WINKLER_SCALING_FACTOR) / 3.0;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Jun2023 - Initialize variables.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 50ce6c2f29fb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/50ce6c2f29fb
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: Jun2023
Log Message:

Initialize variables.


diffs (12 lines):

diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c
--- a/monetdb5/modules/mal/txtsim.c
+++ b/monetdb5/modules/mal/txtsim.c
@@ -887,7 +887,7 @@ minjarowinklerjoin(BAT **r1, BAT **r2, B
BUN n;
struct canditer lci, rci;
const char *lvals, *rvals, *lvars, *rvars;
-   int lwidth, rwidth, lb, ub, m = -1, *x_flags = NULL, *y_flags = NULL;
+   int lwidth, rwidth, lb = 0, ub = 0, m = -1, *x_flags = NULL, *y_flags = 
NULL;
str_item *ssl = NULL, *ssr = NULL, shortest;
str msg = MAL_SUCCEED;
const bool sliding_window_allowed = threshold > (2.01 + 
JARO_WINKLER_PREFIX_LEN * JARO_WINKLER_SCALING_FACTOR) / 3.0;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - MMAP minsize depends on the amount of memory,...

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: c142f7a8dd1f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c142f7a8dd1f
Modified Files:
gdk/gdk_utils.c
Branch: Dec2023
Log Message:

MMAP minsize depends on the amount of memory, not on virtual memory size.
Also, print values on USR1 signal.


diffs (45 lines):

diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -1074,7 +1074,7 @@ GDKinit(opt *set, int setlen, bool embed
first = false;
 
if (GDK_mem_maxsize / 16 < GDK_mmap_minsize_transient) {
-   GDK_mmap_minsize_transient = GDK_mem_maxsize / 16;
+   GDK_mmap_minsize_transient = MAX(MMAP_PAGESIZE, GDK_mem_maxsize 
/ 16);
if (GDK_mmap_minsize_persistent > GDK_mmap_minsize_transient)
GDK_mmap_minsize_persistent = 
GDK_mmap_minsize_transient;
}
@@ -1107,13 +1107,13 @@ GDKinit(opt *set, int setlen, bool embed
if (strcmp("gdk_mem_maxsize", n[i].name) == 0) {
GDK_mem_maxsize = (size_t) strtoll(n[i].value, NULL, 
10);
GDK_mem_maxsize = MAX(1 << 26, GDK_mem_maxsize);
+   if (GDK_mem_maxsize / 16 < GDK_mmap_minsize_transient)
+   GDK_mmap_minsize_transient = MAX(MMAP_PAGESIZE, 
GDK_mem_maxsize / 16);
+   if (GDK_mmap_minsize_persistent > 
GDK_mmap_minsize_transient)
+   GDK_mmap_minsize_persistent = 
GDK_mmap_minsize_transient;
} else if (strcmp("gdk_vm_maxsize", n[i].name) == 0) {
GDK_vm_maxsize = (size_t) strtoll(n[i].value, NULL, 10);
GDK_vm_maxsize = MAX(1 << 30, GDK_vm_maxsize);
-   if (GDK_vm_maxsize < GDK_mmap_minsize_persistent / 4)
-   GDK_mmap_minsize_persistent = GDK_vm_maxsize / 
4;
-   if (GDK_vm_maxsize < GDK_mmap_minsize_transient / 4)
-   GDK_mmap_minsize_transient = GDK_vm_maxsize / 4;
} else if (strcmp("gdk_mmap_minsize_persistent", n[i].name) == 
0) {
GDK_mmap_minsize_persistent = (size_t) 
strtoll(n[i].value, NULL, 10);
} else if (strcmp("gdk_mmap_minsize_transient", n[i].name) == 
0) {
@@ -2058,8 +2058,12 @@ GDKprintinfo(void)
size_t allocated = (size_t) ATOMIC_GET(&GDK_mallocedbytes_estimate);
size_t vmallocated = (size_t) ATOMIC_GET(&GDK_vm_cursize);
 
-   printf("Virtual memory allocated: %zu, of which %zu with malloc (limit: 
%zu)\n",
-  vmallocated + allocated, allocated, GDK_vm_maxsize);
+   printf("Virtual memory allocated: %zu, of which %zu with malloc\n",
+  vmallocated + allocated, allocated);
+   printf("vm limit: %zu, mem limit: %zu\n",
+  GDK_vm_maxsize, GDK_mem_maxsize);
+   printf("mmap persistent heaps over %zu, transient heaps over %zu\n",
+  GDK_mmap_minsize_persistent, GDK_mmap_minsize_transient);
 #ifdef __linux__
int fd = open("/proc/self/statm", O_RDONLY | O_CLOEXEC);
if (fd >= 0) {
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Be explicit about the values we print with USR1.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: e763a0404666 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e763a0404666
Modified Files:
gdk/gdk_utils.c
Branch: Dec2023
Log Message:

Be explicit about the values we print with USR1.


diffs (15 lines):

diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -2060,9 +2060,9 @@ GDKprintinfo(void)
 
printf("Virtual memory allocated: %zu, of which %zu with malloc\n",
   vmallocated + allocated, allocated);
-   printf("vm limit: %zu, mem limit: %zu\n",
+   printf("gdk_vm_maxsize: %zu, gdk_mem_maxsize: %zu\n",
   GDK_vm_maxsize, GDK_mem_maxsize);
-   printf("mmap persistent heaps over %zu, transient heaps over %zu\n",
+   printf("gdk_mmap_minsize_persistent %zu, gdk_mmap_minsize_transient 
%zu\n",
   GDK_mmap_minsize_persistent, GDK_mmap_minsize_transient);
 #ifdef __linux__
int fd = open("/proc/self/statm", O_RDONLY | O_CLOEXEC);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Merge with Jun2023 branch.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 3cfde7c496fa for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3cfde7c496fa
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: Dec2023
Log Message:

Merge with Jun2023 branch.

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


MonetDB: default - Merge with Dec2023 branch.

2023-12-20 Thread Sjoerd Mullender via checkin-list
Changeset: 2c1bb47d7eda for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2c1bb47d7eda
Modified Files:
monetdb5/modules/mal/txtsim.c
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (45 lines):

diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -1074,7 +1074,7 @@ GDKinit(opt *set, int setlen, bool embed
first = false;
 
if (GDK_mem_maxsize / 16 < GDK_mmap_minsize_transient) {
-   GDK_mmap_minsize_transient = GDK_mem_maxsize / 16;
+   GDK_mmap_minsize_transient = MAX(MMAP_PAGESIZE, GDK_mem_maxsize 
/ 16);
if (GDK_mmap_minsize_persistent > GDK_mmap_minsize_transient)
GDK_mmap_minsize_persistent = 
GDK_mmap_minsize_transient;
}
@@ -1107,13 +1107,13 @@ GDKinit(opt *set, int setlen, bool embed
if (strcmp("gdk_mem_maxsize", n[i].name) == 0) {
GDK_mem_maxsize = (size_t) strtoll(n[i].value, NULL, 
10);
GDK_mem_maxsize = MAX(1 << 26, GDK_mem_maxsize);
+   if (GDK_mem_maxsize / 16 < GDK_mmap_minsize_transient)
+   GDK_mmap_minsize_transient = MAX(MMAP_PAGESIZE, 
GDK_mem_maxsize / 16);
+   if (GDK_mmap_minsize_persistent > 
GDK_mmap_minsize_transient)
+   GDK_mmap_minsize_persistent = 
GDK_mmap_minsize_transient;
} else if (strcmp("gdk_vm_maxsize", n[i].name) == 0) {
GDK_vm_maxsize = (size_t) strtoll(n[i].value, NULL, 10);
GDK_vm_maxsize = MAX(1 << 30, GDK_vm_maxsize);
-   if (GDK_vm_maxsize < GDK_mmap_minsize_persistent / 4)
-   GDK_mmap_minsize_persistent = GDK_vm_maxsize / 
4;
-   if (GDK_vm_maxsize < GDK_mmap_minsize_transient / 4)
-   GDK_mmap_minsize_transient = GDK_vm_maxsize / 4;
} else if (strcmp("gdk_mmap_minsize_persistent", n[i].name) == 
0) {
GDK_mmap_minsize_persistent = (size_t) 
strtoll(n[i].value, NULL, 10);
} else if (strcmp("gdk_mmap_minsize_transient", n[i].name) == 
0) {
@@ -2058,8 +2058,12 @@ GDKprintinfo(void)
size_t allocated = (size_t) ATOMIC_GET(&GDK_mallocedbytes_estimate);
size_t vmallocated = (size_t) ATOMIC_GET(&GDK_vm_cursize);
 
-   printf("Virtual memory allocated: %zu, of which %zu with malloc (limit: 
%zu)\n",
-  vmallocated + allocated, allocated, GDK_vm_maxsize);
+   printf("Virtual memory allocated: %zu, of which %zu with malloc\n",
+  vmallocated + allocated, allocated);
+   printf("gdk_vm_maxsize: %zu, gdk_mem_maxsize: %zu\n",
+  GDK_vm_maxsize, GDK_mem_maxsize);
+   printf("gdk_mmap_minsize_persistent %zu, gdk_mmap_minsize_transient 
%zu\n",
+  GDK_mmap_minsize_persistent, GDK_mmap_minsize_transient);
 #ifdef __linux__
int fd = open("/proc/self/statm", O_RDONLY | O_CLOEXEC);
if (fd >= 0) {
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Add missing license header. Also removed...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: 9b4c7faaa860 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/9b4c7faaa860
Modified Files:
src/main/java/org/monetdb/jdbc/MonetVersion.java.in
Branch: default
Log Message:

Add missing license header. Also removed public from this class as it is not 
part of JDBC public API.


diffs (24 lines):

diff --git a/src/main/java/org/monetdb/jdbc/MonetVersion.java.in 
b/src/main/java/org/monetdb/jdbc/MonetVersion.java.in
--- a/src/main/java/org/monetdb/jdbc/MonetVersion.java.in
+++ b/src/main/java/org/monetdb/jdbc/MonetVersion.java.in
@@ -1,6 +1,14 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
+ */
+
 package org.monetdb.jdbc;
 
-public final class MonetVersion {
+final class MonetVersion {
 
/**
 * Major version of MonetDB JDBC driver.
@@ -17,4 +25,3 @@ public final class MonetVersion {
 */
public static String driverVersion = "@JDBC_MAJOR@.@JDBC_MINOR@ 
(@JDBC_VER_SUFFIX@)";
 }
-
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Now we have a MonetVersion class use it ...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: 23f84ff380c2 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/23f84ff380c2
Modified Files:
src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
src/main/java/org/monetdb/jdbc/MonetDriver.java
Branch: default
Log Message:

Now we have a MonetVersion class use it from MonetDatabaseMetaData also.
The 2 static utility methods in MonetDriver (which were only called by 
MonetDatabaseMetaData)only are not needed anymore.


diffs (80 lines):

diff --git a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java 
b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -181,7 +181,7 @@ public final class MonetDatabaseMetaData
 */
@Override
public String getDriverVersion() {
-   return MonetDriver.getDriverVersion();
+   return MonetVersion.driverVersion;
}
 
/**
@@ -191,7 +191,7 @@ public final class MonetDatabaseMetaData
 */
@Override
public int getDriverMajorVersion() {
-   return MonetDriver.getDriverMajorVersion();
+   return MonetVersion.majorVersion;
}
 
/**
@@ -201,7 +201,7 @@ public final class MonetDatabaseMetaData
 */
@Override
public int getDriverMinorVersion() {
-   return MonetDriver.getDriverMinorVersion();
+   return MonetVersion.minorVersion;
}
 
/**
diff --git a/src/main/java/org/monetdb/jdbc/MonetDriver.java 
b/src/main/java/org/monetdb/jdbc/MonetDriver.java
--- a/src/main/java/org/monetdb/jdbc/MonetDriver.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDriver.java
@@ -158,8 +158,7 @@ public final class MonetDriver implement
 */
@Override
public int getMajorVersion() {
-   // defer to the static version of this method
-   return getDriverMajorVersion();
+   return MonetVersion.majorVersion;
}
 
/**
@@ -169,8 +168,7 @@ public final class MonetDriver implement
 */
@Override
public int getMinorVersion() {
-   // defer to the static version of this method
-   return getDriverMinorVersion();
+   return MonetVersion.minorVersion;
}
 
/**
@@ -303,26 +301,6 @@ public final class MonetDriver implement
 
 
/**
-* Get MonetDB JDBC Driver major version number
-* method called by MonetDatabaseMetaData methods
-* @return MonetDB JDBC Driver major version number
-*/
-   static final int getDriverMajorVersion() {
-   // defer to the generated MonetVersion class
-   return MonetVersion.majorVersion;
-   }
-
-   /**
-* Get MonetDB JDBC Driver minor version number
-* method called by MonetDatabaseMetaData methods
-* @return MonetDB JDBC Driver minor version number
-*/
-   static final int getDriverMinorVersion() {
-   // defer to the generated MonetVersion class
-   return MonetVersion.minorVersion;
-   }
-
-   /**
 * Returns a touched up identifying version string of this driver.
 * It is made public as it is called from  
org/monetdb/client/JdbcClient.java
 * @return the version string
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Prevent sql processor to produce server msg: ...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: bb7931160d93 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/bb7931160d93
Modified Files:
clients/odbc/driver/ODBCQueries.h
Branch: Dec2023
Log Message:

Prevent sql processor to produce server msg: mul_int_bte_int: ERROR: 
22003!overflow in calculation 2147483647*4.
when computing the CHAR_OCTET_LENGTH.


diffs (13 lines):

diff --git a/clients/odbc/driver/ODBCQueries.h 
b/clients/odbc/driver/ODBCQueries.h
--- a/clients/odbc/driver/ODBCQueries.h
+++ b/clients/odbc/driver/ODBCQueries.h
@@ -302,7 +302,7 @@
 
 #define CHAR_OCTET_LENGTH(t)   
\
"cast(case when " #t ".type in 
('varchar','clob','char','json','url','xml') "   \
-"then 4 * " #t ".type_digits " 
\
+"then 4 * cast(" #t ".type_digits as bigint) " 
\
 "when " #t ".type = 'blob' then " #t ".type_digits "   
\
-"else cast(null as integer) "  
\
+"else null "   
\
"end as integer) as \"CHAR_OCTET_LENGTH\""
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Remove duplicate test ValidateSystemCatalogTa...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: 16a9e81aa331 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/16a9e81aa331
Removed Files:
sql/test/sys-schema/Tests/ValidateSystemCatalogTables.SQL.py
sql/test/sys-schema/Tests/ValidateSystemCatalogTables.sql
Modified Files:
sql/test/sys-schema/Tests/All
Branch: Dec2023
Log Message:

Remove duplicate test ValidateSystemCatalogTables. It is also done in 
sql/jdbc/tests/Tests/


diffs (53 lines):

diff --git a/sql/test/sys-schema/Tests/All b/sql/test/sys-schema/Tests/All
--- a/sql/test/sys-schema/Tests/All
+++ b/sql/test/sys-schema/Tests/All
@@ -20,5 +20,3 @@ webExamplesStringFunctions
 webExamplesUrlFunctions
 
 utilities
-
-HAVE_JDBCCLIENT_JAR?ValidateSystemCatalogTables
diff --git a/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.SQL.py 
b/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.SQL.py
deleted file mode 100755
--- a/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.SQL.py
+++ /dev/null
@@ -1,27 +0,0 @@
-import os, sys
-from subprocess import run, PIPE, CalledProcessError
-
-HOST=os.getenv('HOST')
-MAPIPORT=os.getenv('MAPIPORT')
-TSTDB=os.getenv('TSTDB')
-TSTSRCBASE=os.getenv('TSTSRCBASE')
-TSTDIR=os.getenv('TSTDIR')
-CLIENT='org.monetdb.client.JdbcClient'
-USER='monetdb'
-PASSWORD='monetdb'
-
-
-if __name__ == '__main__':
-with open(os.path.join('.monetdb'), 'w') as f:
-f.write('\n'.join(['user=monetdb', 'password=monetdb']))
-cmd = ['java', CLIENT, '-h', HOST, '-p', MAPIPORT, '-d', TSTDB, '-f', 
os.path.join(TSTSRCBASE, TSTDIR, 'Tests', 'ValidateSystemCatalogTables.sql')]
-try:
-p = run(cmd, stdout=PIPE, stderr=PIPE, check=True, encoding='utf-8')
-pout = str(p.stdout)
-if pout != "":
-print(pout)
-perr = str(p.stderr)
-if perr != "":
-print(perr)
-except CalledProcessError as e:
-raise SystemExit(e.stderr)
diff --git a/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.sql 
b/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.sql
deleted file mode 100644
--- a/sql/test/sys-schema/Tests/ValidateSystemCatalogTables.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-\vsci_noheader
-\vsni_noheader
-\vsgi_noheader
-\vsi_noheader sys
-\vsi_noheader tmp
-\vdbi_noheader
-
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Enhance \vsi command by removing a trail...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: 1074ad1a4c63 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/1074ad1a4c63
Modified Files:
src/main/java/org/monetdb/client/JdbcClient.java
Branch: default
Log Message:

Enhance \vsi command by removing a trailing ; terminator from the provided 
schema name.


diffs (14 lines):

diff --git a/src/main/java/org/monetdb/client/JdbcClient.java 
b/src/main/java/org/monetdb/client/JdbcClient.java
--- a/src/main/java/org/monetdb/client/JdbcClient.java
+++ b/src/main/java/org/monetdb/client/JdbcClient.java
@@ -736,7 +736,9 @@ public final class JdbcClient {
} else if 
(command.equals("\\vsgi_noheader")) { // used only for internal automated 
testing

MDBvalidator.validateSqlGeomTablesIntegrity(con, false);
} else if 
(command.startsWith("\\vsi ")) {
-   String schema_nm = 
command.substring(5);
+   String schema_nm = 
command.substring(5).trim();
+   if 
(schema_nm.endsWith(";"))
+   schema_nm = 
schema_nm.substring(0, schema_nm.length() - 1);

MDBvalidator.validateSchemaIntegrity(con, schema_nm, true);
} else if 
(command.startsWith("\\vsi_noheader ")) { // used only for internal 
automated testing
String schema_nm = 
command.substring(14);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Enhanced DatabaseMetaData.getTables() me...

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: b2cbe866d020 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/b2cbe866d020
Modified Files:
ChangeLog
src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
tests/JDBC_API_Tester.java
Branch: default
Log Message:

Enhanced DatabaseMetaData.getTables() method by adding support for SQL table 
type names: 'BASE TABLE', 'GLOBAL TEMPORARY' and 'LOCAL TEMPORARY' in parameter 
types[].
These are SQL synonyms of MonetDB table type names: 'TABLE', 'GLOBAL TEMPORARY 
TABLE' and 'LOCAL TEMPORARY TABLE'.


diffs (60 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
 # ChangeLog file for monetdb-java
 # This file is updated with Maddlog
 
+* Wed Dec 20 2023 Martin van Dinther 
+- Enhanced DatabaseMetaData.getTables() method by adding support for SQL
+  table type names: 'BASE TABLE', 'GLOBAL TEMPORARY' and 'LOCAL TEMPORARY'
+  in parameter types[].  These are SQL synonyms of MonetDB table type names:
+  'TABLE', 'GLOBAL TEMPORARY TABLE' and 'LOCAL TEMPORARY TABLE'.
+
 * Thu Dec 14 2023 Martin van Dinther 
 - In ResultSet.getObject() method added support for retrieving
   TIMESTAMP WITH TIME ZONE data as java.time.OffsetDateTime object
diff --git a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java 
b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1932,12 +1932,26 @@ public final class MonetDatabaseMetaData
if (types != null && types.length > 0) {
query.append(needWhere ? "WHERE" : " AND").append(" 
tt.\"table_type_name\" IN (");
for (int i = 0; i < types.length; i++) {
+   String tabletype = types[i];
+   /* Some JDBC applications use different table 
type names.
+* Replace some SQL synonyms to valid MonetDB
+* table type names as defined in 
sys.table_types */
+   if ("BASE TABLE".equals(tabletype)) {
+   tabletype = "TABLE";
+   } else
+   if ("GLOBAL TEMPORARY".equals(tabletype)) {
+   tabletype = "GLOBAL TEMPORARY TABLE";
+   } else
+   if ("LOCAL TEMPORARY".equals(tabletype)) {
+   tabletype = "LOCAL TEMPORARY TABLE";
+   }
if (i > 0) {
query.append(',');
}
-   
query.append('\'').append(types[i]).append('\'');
+   
query.append('\'').append(tabletype).append('\'');
}
query.append(')');
+   // for debug: System.out.println("SQL (len " + 
query.length() + "): " + query);
}
 
query.append(" ORDER BY \"TABLE_TYPE\", \"TABLE_SCHEM\", 
\"TABLE_NAME\"");
diff --git a/tests/JDBC_API_Tester.java b/tests/JDBC_API_Tester.java
--- a/tests/JDBC_API_Tester.java
+++ b/tests/JDBC_API_Tester.java
@@ -1157,7 +1157,8 @@ final public class JDBC_API_Tester {
"null   jdbctst pk2cTABLE   nullnullnull
nullnullnull\n" +
"null   jdbctst pk_uc   TABLE   jdbctst.pk_uc table 
comment nullnullnullnullnull\n");
 
-   compareResultSet(dbmd.getTables(null, "tmp", 
"tlargechar", null), "getTables(null, tmp, tlargechar, null)",
+   String tabletypes[] = {"BASE TABLE", "LOCAL TEMPORARY", 
"GLOBAL TEMPORARY"};
+   compareResultSet(dbmd.getTables(null, "tmp", 
"tlargechar", tabletypes), "getTables(null, tmp, tlargechar, tabletypes)",
"Resultset with 10 columns\n" +
"TABLE_CAT  TABLE_SCHEM TABLE_NAME  
TABLE_TYPE  REMARKS TYPE_CATTYPE_SCHEM  TYPE_NAME   
SELF_REFERENCING_COL_NAME   REF_GENERATION\n" +
"char(1)varchar(1024)   varchar(1024)   
varchar(25) varchar(1048576)char(1) char(1) char(1) char(1) 
char(1)\n" +
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - correct comment text

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: e0269e0cb9c3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e0269e0cb9c3
Modified Files:
clients/odbc/driver/SQLTables.c
Branch: Dec2023
Log Message:

correct comment text


diffs (14 lines):

diff --git a/clients/odbc/driver/SQLTables.c b/clients/odbc/driver/SQLTables.c
--- a/clients/odbc/driver/SQLTables.c
+++ b/clients/odbc/driver/SQLTables.c
@@ -222,8 +222,8 @@ MNDBTables(ODBCStmt *stmt,
}
buf[j] = 0;
/* Some ODBC applications use different 
table type names.
-* Replace those names to valid MonetDB 
table type names
-* as defined in sys.tables_types */
+* Replace some SQL synonyms to valid 
MonetDB
+* table type names as defined in 
sys.table_types */
if (strcmp("BASE TABLE", buf) == 0) {
strcpy(buf, "TABLE");
} else
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Add testing against MonetDB Dec2023

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: be78e5a8c9cd for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/be78e5a8c9cd
Modified Files:
.github/workflows/monetdbversions.yml
Branch: default
Log Message:

Add testing against MonetDB Dec2023


diffs (11 lines):

diff --git a/.github/workflows/monetdbversions.yml 
b/.github/workflows/monetdbversions.yml
--- a/.github/workflows/monetdbversions.yml
+++ b/.github/workflows/monetdbversions.yml
@@ -16,6 +16,7 @@ jobs:
   - "monetdb/dev-builds:Jan2022"
   - "monetdb/dev-builds:Sep2022"
   - "monetdb/dev-builds:Jun2023"
+  - "monetdb/dev-builds:Dec2023"
   - "monetdb/dev-builds:default"
 
 services:
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Correct typo

2023-12-20 Thread Martin van Dinther via checkin-list
Changeset: e53285fc47b7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e53285fc47b7
Modified Files:
monetdb5/modules/atoms/Tests/startswith.test
Branch: Dec2023
Log Message:

Correct typo


diffs (9 lines):

diff --git a/monetdb5/modules/atoms/Tests/startswith.test 
b/monetdb5/modules/atoms/Tests/startswith.test
--- a/monetdb5/modules/atoms/Tests/startswith.test
+++ b/monetdb5/modules/atoms/Tests/startswith.test
@@ -90,4 +90,4 @@ drop table bar
 query T
 select ['Camón Romasan'] startsWith ['camu', true];
 
-false
+False
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org