MonetDB: literal_features - merge with default

2023-11-13 Thread Yunus Koning via checkin-list
Changeset: 4c591abef122 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4c591abef122
Branch: literal_features
Log Message:

merge with default


diffs (truncated from 7976 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -814,3 +814,4 @@ 1efa83c6409769d13b2ee30e497d5f7ab42fa955
 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_11
 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_SP2_release
 e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13
+5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -867,6 +867,17 @@ fi
 %endif
 
 %changelog
+* Thu Nov 09 2023 Sjoerd Mullender  - 11.47.15-20231109
+- Rebuilt.
+- GH#7410: SIGSEGV cause database corruption
+
+* Tue Nov  7 2023 Sjoerd Mullender  - 11.47.15-20231109
+- gdk: When saving the SQL catalog during a low-level commit, we should
+  only save the part of the catalog that corresponds to the part of the
+  write-ahead log that has been processed.  What we did was save more,
+  which resulted in the catalog containing references to tables and
+  columns whose disk presence is otherwise only in the write-ahead log.
+
 * Fri Nov 03 2023 Sjoerd Mullender  - 11.47.13-20231103
 - Rebuilt.
 - GH#7300: Implement missing standard SQL DATE and TIMESTAMP functions
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
@@ -730,9 +730,10 @@ msettings_error msetting_set_named(msett
 const char *msetting_string(const msettings *mp, mparm parm);
 long msettings_connect_binary(const msettings *mp);
 const char *msettings_connect_certhash_digits(const msettings *mp);
+const char *msettings_connect_clientcert(const msettings *mp);
+const char *msettings_connect_clientkey(const msettings *mp);
 long msettings_connect_port(const msettings *mp);
 bool msettings_connect_scan(const msettings *mp);
-const char *msettings_connect_sockdir(const msettings *mp);
 const char *msettings_connect_tcp(const msettings *mp);
 enum msetting_tls_verify msettings_connect_tls_verify(const msettings *mp);
 const char *msettings_connect_unix(const msettings *mp);
diff --git a/clients/examples/C/testsfile.c b/clients/examples/C/testsfile.c
--- a/clients/examples/C/testsfile.c
+++ b/clients/examples/C/testsfile.c
@@ -235,6 +235,10 @@ handle_expect_command(const char *locati
return expect_string(location, MP_UNKNOWN, 
msettings_connect_certhash_digits, value);
if (strcmp("connect_binary", key) == 0)
return expect_long(location, MP_UNKNOWN, 
msettings_connect_binary, value);
+   if (strcmp("connect_clientkey", key) == 0)
+   return expect_string(location, MP_UNKNOWN, 
msettings_connect_clientkey, value);
+   if (strcmp("connect_clientcert", key) == 0)
+   return expect_string(location, MP_UNKNOWN, 
msettings_connect_clientcert, value);
 
const mparm parm = mparm_parse(key);
if (parm == MP_UNKNOWN) {
diff --git a/clients/examples/python/mclient-python3.py 
b/clients/examples/python/mclient-python3.py
--- a/clients/examples/python/mclient-python3.py
+++ b/clients/examples/python/mclient-python3.py
@@ -65,7 +65,7 @@ def main() :
 line = fi.readline()
 if encoding != 'utf-8':
 prompt = str(prompt, 'utf-8').encode(encoding, 'replace')
-while line and line != "\q\n":
+while line and line != "\\q\n":
 if encoding != 'utf-8':
 line = str(line, encoding).encode('utf-8')
 res = s.cmd('s' + line)
diff --git a/clients/mapiclient/mclient.1 b/clients/mapiclient/mclient.1
--- a/clients/mapiclient/mclient.1
+++ b/clients/mapiclient/mclient.1
@@ -212,7 +212,7 @@ The possible values are
 .BR expanded ,
 .BR x ,
 .BR csv ,
-.BR csv-noquote ,
+.BR csv\-noquote ,
 .BR tab ,
 .BR raw ,
 .BR xml ,
@@ -221,7 +221,7 @@ and
 .BR rowcount .
 .B csv
 is comma-separated values;
-.B csv-noquote
+.B csv\-noquote
 is comma-separated values without escaping any quotes;
 .B tab
 is tab-separated values;
@@ -248,7 +248,7 @@ is a variation on
 where only the number of affected rows is printed.
 Normal \fBcsv\fP and \fBtab\fP formatting will use double quotes
 around any fields that contain double quotes, white space or the
-separator.  The \fBcsv-noquote\fP format will prevent that and dump
+separator.  The \fBcsv\-noquote\fP format will prevent that and dump
 the contents of the field without any interpretation.
 In addition to plain \fBcsv\fP, two other forms are possible.
 \fBcsv=\fP\fIc\fP uses \fIc\fP as column separator; \fBcsv+\fP\fIc\fP
@@ -539,7 +539,7 @@ in the above query can also be a URL.  I
 .IR e . g .,
 .IR https://www.example.org/dumpdata.csv .
 .PP
-See 
https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/copy-from/
+See 
https://www.monetdb.org/documentation/user\-guide/sql\-manual/data\-loading/copy\-from/
 for more information about the COPY 

MonetDB: default - Suppress warning.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 14b8a089d51a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/14b8a089d51a
Modified Files:
clients/mapilib/Tests/tlstester.py
Branch: default
Log Message:

Suppress warning.


diffs (14 lines):

diff --git a/clients/mapilib/Tests/tlstester.py 
b/clients/mapilib/Tests/tlstester.py
--- a/clients/mapilib/Tests/tlstester.py
+++ b/clients/mapilib/Tests/tlstester.py
@@ -175,7 +175,9 @@ class Certs:
 noncritical_extensions: List[x509.ExtensionType] = [],
 keycrt=False,
 ):
-key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
+with warnings.catch_warnings():
+warnings.filterwarnings('ignore', category=UserWarning)
+key = rsa.generate_private_key(public_exponent=65537, 
key_size=2048)
 
 if parent_name:
 issuer_name = parent_name
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - remove redundant if-scope

2023-11-13 Thread Yunus Koning via checkin-list
Changeset: c5b17681b55e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c5b17681b55e
Modified Files:
sql/server/rel_exp.c
Branch: default
Log Message:

remove redundant if-scope


diffs (68 lines):

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
@@ -2579,38 +2579,36 @@ exps_bind_column2(list *exps, const char
if (exps) {
node *en;
 
-   if (exps) {
-   if (!exps->ht && list_length(exps) > HASH_MIN_SIZE) {
-   exps->ht = hash_new(exps->sa, 
list_length(exps), (fkeyvalue)&exp_key);
-   if (exps->ht == NULL)
-   return res;
-
-   for (en = exps->h; en; en = en->next ) {
-   sql_exp *e = en->data;
-   if (e->alias.name) {
-   int key = exp_key(e);
-
-   if (hash_add(exps->ht, key, e) 
== NULL)
-   return res;
-   }
+   if (!exps->ht && list_length(exps) > HASH_MIN_SIZE) {
+   exps->ht = hash_new(exps->sa, list_length(exps), 
(fkeyvalue)&exp_key);
+   if (exps->ht == NULL)
+   return res;
+
+   for (en = exps->h; en; en = en->next ) {
+   sql_exp *e = en->data;
+   if (e->alias.name) {
+   int key = exp_key(e);
+
+   if (hash_add(exps->ht, key, e) == NULL)
+   return res;
}
}
-   if (exps->ht) {
-   int key = hash_key(cname);
-   sql_hash_e *he = 
exps->ht->buckets[key&(exps->ht->size-1)];
-
-   for (; he; he = he->chain) {
-   sql_exp *e = he->value;
-
-   if (e && e->alias.name && 
e->alias.rname && strcmp(e->alias.name, cname) == 0 && strcmp(e->alias.rname, 
rname) == 0) {
-   if (res && multiple)
-   *multiple = 1;
-   if (!res)
-   res = e;
-   }
+   }
+   if (exps->ht) {
+   int key = hash_key(cname);
+   sql_hash_e *he = 
exps->ht->buckets[key&(exps->ht->size-1)];
+
+   for (; he; he = he->chain) {
+   sql_exp *e = he->value;
+
+   if (e && e->alias.name && e->alias.rname && 
strcmp(e->alias.name, cname) == 0 && strcmp(e->alias.rname, rname) == 0) {
+   if (res && multiple)
+   *multiple = 1;
+   if (!res)
+   res = e;
}
-   return res;
}
+   return res;
}
for (en = exps->h; en; en = en->next ) {
sql_exp *e = en->data;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Added tag Dec2023_root for changeset c5b17681...

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: be9375dfdad7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/be9375dfdad7
Modified Files:
.hgtags
Branch: default
Log Message:

Added tag Dec2023_root for changeset c5b17681b55e


diffs (8 lines):

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
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Step one towards a new stable branch "Dec2023".

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 8737a9590680 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8737a9590680
Added Files:
ChangeLog.Dec2023
clients/ChangeLog.Dec2023
clients/mapilib/ChangeLog.Dec2023
clients/odbc/ChangeLog.Dec2023
common/stream/ChangeLog.Dec2023
gdk/ChangeLog.Dec2023
geom/ChangeLog.Dec2023
misc/ChangeLog.Dec2023
monetdb5/ChangeLog.Dec2023
sql/ChangeLog.Dec2023
testing/ChangeLog.Dec2023
tools/merovingian/ChangeLog.Dec2023
Removed Files:
ChangeLog
clients/ChangeLog
clients/mapilib/ChangeLog
clients/odbc/ChangeLog
common/stream/ChangeLog
gdk/ChangeLog
geom/ChangeLog
misc/ChangeLog
monetdb5/ChangeLog
sql/ChangeLog
testing/ChangeLog
tools/merovingian/ChangeLog
Modified Files:
.bumpversion.cfg
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/libbat.rc
monetdb5/tools/libmonetdb5.rc
sql/backends/monet5/sql_upgrades.c
Branch: Dec2023
Log Message:

Step one towards a new stable branch "Dec2023".

Incremented version numbers.
Moved ChangeLog file to ChangeLog.Dec2023.
The root of the stable branch is "Dec2023_root".


diffs (259 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.49.0
 commit = False
 tag = False
 
diff --git a/ChangeLog b/ChangeLog.Dec2023
rename from ChangeLog
rename 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.49.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
rename from clients/ChangeLog
rename to clients/ChangeLog.Dec2023
diff --git a/clients/mapilib/ChangeLog b/clients/mapilib/ChangeLog.Dec2023
rename from clients/mapilib/ChangeLog
rename to clients/mapilib/ChangeLog.Dec2023
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,48,0)
-  PRODUCTVERSION version(11,48,0)
+  FILEVERSION version(11,49,0)
+  PRODUCTVERSION version(11,49,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB B.V.\0"
   VALUE "FileDescription", "MonetDB Application Interface DLL\0"
-  VALUE "FileVersion", sversion(11,48,0)
+  VALUE "FileVersion", sversion(11,49,0)
   VALUE "InternalName", "Mapi\0"
   VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "Mapi.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB Client Libraries\0"
-  VALUE "ProductVersion", sversion(11,48,0)
+  VALUE "ProductVersion", sversion(11,49,0)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog.Dec2023
rename from clients/odbc/ChangeLog
rename to clients/odbc/ChangeLog.Dec2023
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,48,0)
-  PRODUCTVERSION version(11,48,0)
+  FILEVERSION version(11,49,0)
+  PRODUCTVERSION version(11,49,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB B.V.\0"
   VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
-  VALUE "FileVersion", sversion(11,48,0)
+  VALUE "FileVersion", sversion(11,49,0)
   VALUE "InternalName", "MonetODBC\0"
   VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "MonetODBC.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB SQL Server\0"
-  VALUE "ProductVersion", sversion(11,48,0)
+  VALUE "ProductVersion", sversion(11,49,0)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc
--- a/clients/odbc/winsetup/setup.rc
+++ b/clients/odbc/winsetup/setup.rc
@@ -65,8 +65,8 @@ END
 /

MonetDB: default - Step two towards a new stable branch "Dec2023".

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: b0031a1a477a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b0031a1a477a
Modified Files:
.bumpversion.cfg
ChangeLog
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/ChangeLog
gdk/libbat.rc
monetdb5/ChangeLog
monetdb5/tools/libmonetdb5.rc
sql/ChangeLog
Branch: default
Log Message:

Step two towards a new stable branch "Dec2023".

Increment version numbers.

>From now on, *all* bug fixes, and *only* bug fixes, *must* go to the
stable branch with the name "Dec2023".


diffs (truncated from 368 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/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/mapilib/ChangeLog b/clients/mapilib/ChangeLog.Dec2023
copy from clients/mapilib/ChangeLog
copy to clients/mapilib/ChangeLog.Dec2023
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,48,0)
-  PRODUCTVERSION version(11,48,0)
+  FILEVERSION version(11,50,0)
+  PRODUCTVERSION version(11,50,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB B.V.\0"
   VALUE "FileDescription", "MonetDB Application Interface DLL\0"
-  VALUE "FileVersion", sversion(11,48,0)
+  VALUE "FileVersion", sversion(11,50,0)
   VALUE "InternalName", "Mapi\0"
   VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "Mapi.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB Client Libraries\0"
-  VALUE "ProductVersion", sversion(11,48,0)
+  VALUE "ProductVersion", sversion(11,50,0)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog.Dec2023
copy from clients/odbc/ChangeLog
copy to clients/odbc/ChangeLog.Dec2023
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,48,0)
-  PRODUCTVERSION version(11,48,0)
+  FILEVERSION version(11,50,0)
+  PRODUCTVERSION version(11,50,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB B.V.\0"
   VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
-  VALUE "FileVersion", sversion(11,48,0)
+  VALUE "FileVersion", sversion(11,50,0)
   VALUE "InternalName", "MonetODBC\0"
   VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "MonetODBC.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB SQL Server\0"
-  VALUE "P

MonetDB: Dec2023 - Implemented registration function for printin...

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 6dcacf96a92d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6dcacf96a92d
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk_utils.c
gdk/gdk_utils.h
Branch: Dec2023
Log Message:

Implemented registration function for printing info on USR1 signal.


diffs (60 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
@@ -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);
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -2031,6 +2031,27 @@ GDKmremap(const char *path, int mode, vo
 }
 
 /* print some potentially interesting information */
+struct prinfocb {
+   struct prinfocb *next;
+   void (*func)(void);
+} *prinfocb;
+
+void
+GDKprintinforegister(void (*func)(void))
+{
+   struct prinfocb *p = GDKmalloc(sizeof(struct prinfocb));
+   if (p == NULL) {
+   GDKerror("cannot register USR1 printing function.\n");
+   return;
+   }
+   p->func = func;
+   p->next = NULL;
+   struct prinfocb **pp = &prinfocb;
+   while (*pp != NULL)
+   pp = &(*pp)->next;
+   *pp = p;
+}
+
 void
 GDKprintinfo(void)
 {
@@ -2064,4 +2085,6 @@ GDKprintinfo(void)
GDKlockstatistics(3);
 #endif
dump_threads();
+   for (struct prinfocb *p = prinfocb; p; p = p->next)
+   (*p->func)();
 }
diff --git a/gdk/gdk_utils.h b/gdk/gdk_utils.h
--- a/gdk/gdk_utils.h
+++ b/gdk/gdk_utils.h
@@ -13,6 +13,7 @@
 
 #include 
 
+gdk_export void GDKprintinforegister(void (*func)(void));
 gdk_export void GDKprintinfo(void);
 
 gdk_export const char *GDKgetenv(const char *name);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Register functions to print info for USR1 sig...

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 6efb80c3e63b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6efb80c3e63b
Modified Files:
monetdb5/mal/mal.c
sql/backends/monet5/sql_scenario.c
Branch: Dec2023
Log Message:

Register functions to print info for USR1 signal.
They're still empty...


diffs (49 lines):

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -51,6 +51,12 @@ mal_version(void)
return MONETDB5_VERSION;
 }
 
+static void
+MALprintinfo(void)
+{
+   /* we need to start printing MAL info here... */
+}
+
 /*
  * Initialization of the MAL context
  */
@@ -91,6 +97,8 @@ mal_init(char *modules[], bool embedded,
return -1;
initNamespace();
 
+   GDKprintinforegister(MALprintinfo);
+
err = malBootstrap(modules, embedded, initpasswd);
if (err !=MAL_SUCCEED) {
mal_client_reset();
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -85,6 +85,12 @@ static MT_Lock sql_contextLock = MT_LOCK
 static str SQLinit(Client c, const char *initpasswd);
 static str master_password = NULL;
 
+static void
+SQLprintinfo(void)
+{
+   /* we need to start printing SQL info here... */
+}
+
 str
 //SQLprelude(void *ret)
 SQLprelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
@@ -153,6 +159,7 @@ SQLprelude(Client cntxt, MalBlkPtr mb, M
fprintf(stdout, "# MonetDB/SQL module loaded\n");
fflush(stdout); /* make merovingian see this *now* */
}
+   GDKprintinforegister(SQLprintinfo);
if (GDKinmemory(0) || GDKembedded()) {
s->name = "sql";
ms->name = "msql";
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Print some logger info on USR1 signal.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: b23e31d29525 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b23e31d29525
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk_logger.c
gdk/gdk_logger.h
sql/backends/monet5/sql_scenario.c
Branch: Dec2023
Log Message:

Print some logger info on USR1 signal.


diffs (67 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
@@ -559,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);
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2256,6 +2256,7 @@ log_new(int debug, const char *fn, const
.saved_id = getBBPlogno(),  /* get saved log numer from bbp 
*/
.saved_tid = (int) getBBPtransid(), /* get saved 
transaction id from bbp */
};
+   lg->tid = lg->saved_tid;
 
/* probably open file and check version first, then call call old 
logger code */
if (snprintf(filename, sizeof(filename), "%s%c%s%c", logdir, DIR_SEP, 
fn, DIR_SEP) >= FILENAME_MAX) {
@@ -3371,3 +3372,23 @@ log_tstart(logger *lg, bool flushnow, ul
 
return GDK_SUCCEED;
 }
+
+void
+log_printinfo(logger *lg)
+{
+   printf("logger %s:\n", lg->fn);
+   printf("current log file "ULLFMT", last handled log file "ULLFMT"\n",
+  lg->id, lg->saved_id);
+   printf("current transaction id %d, saved transaction id %d\n",
+  lg->tid, lg->saved_tid);
+   printf("number of flushers: %d, number of open files %d\n",
+  (int) ATOMIC_GET(&lg->nr_flushers),
+  (int) ATOMIC_GET(&lg->nr_open_files));
+   printf("number of catalog entries "BUNFMT", of which "BUNFMT" 
deleted\n",
+  lg->catalog_bid->batCount, lg->dcatalog->batCount);
+   int npend = 0;
+   for (logged_range *p = lg->pending; p; p = p->next)
+   npend++;
+   if (npend > 1)
+   printf("number of pending ranges %d\n", npend);
+}
diff --git a/gdk/gdk_logger.h b/gdk/gdk_logger.h
--- a/gdk/gdk_logger.h
+++ b/gdk/gdk_logger.h
@@ -78,4 +78,6 @@ gdk_export gdk_return log_tflush(logger 
 gdk_export gdk_return log_tsequence(logger *lg, int seq, lng id);
 gdk_export log_bid log_find_bat(logger *lg, log_id id);
 
+gdk_export void log_printinfo(logger *lg);
+
 #endif /*_LOGGER_H_*/
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -89,6 +89,7 @@ static void
 SQLprintinfo(void)
 {
/* we need to start printing SQL info here... */
+   log_printinfo(((sqlstore *) SQLstore)->logger);
 }
 
 str
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Do a bit of locking + some rearrangement of U...

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: f5dca3c801ef for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f5dca3c801ef
Modified Files:
gdk/gdk_bbp.c
gdk/gdk_logger.c
sql/backends/monet5/sql_scenario.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: Dec2023
Log Message:

Do a bit of locking + some rearrangement of USR1 code.


diffs (140 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -4618,47 +4618,47 @@ BBPtmunlock(void)
 void
 BBPprintinfo(void)
 {
-   if (MT_lock_try(&GDKtmLock)) {
-   BBPtmlockFinish();
-   size_t tmem = 0, tvm = 0;
-   size_t pmem = 0, pvm = 0;
-   int tn = 0;
-   int pn = 0;
-   int nh = 0;
-
-   for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) {
-   if (BBP_refs(i) == 0 && BBP_lrefs(i) == 0)
-   continue;
+   size_t tmem = 0, tvm = 0;
+   size_t pmem = 0, pvm = 0;
+   int tn = 0;
+   int pn = 0;
+   int nh = 0;
+
+   BBPtmlock();
+   for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) {
+   MT_lock_set(&GDKswapLock(i));
+   if (BBP_refs(i) > 0 || BBP_lrefs(i) > 0) {
BAT *b = BBP_desc(i);
-   if (b == NULL)
-   continue;
-   ATOMIC_BASE_TYPE status = BBP_status(i);
-   nh += (status & BBPHOT) != 0;
-   if (status & BBPPERSISTENT) {
-   pn++;
-   pmem += HEAPmemsize(b->theap);
-   pvm += HEAPvmsize(b->theap);
-   pmem += HEAPmemsize(b->tvheap);
-   pvm += HEAPvmsize(b->tvheap);
-   } else {
-   tn++;
-   if (b->theap &&
-   b->theap->parentid == b->batCacheid) {
-   tmem += HEAPmemsize(b->theap);
-   tvm += HEAPvmsize(b->theap);
+   if (b != NULL) {
+   ATOMIC_BASE_TYPE status = BBP_status(i);
+   nh += (status & BBPHOT) != 0;
+   MT_lock_set(&b->theaplock);
+   if (status & BBPPERSISTENT) {
+   pn++;
+   pmem += HEAPmemsize(b->theap);
+   pvm += HEAPvmsize(b->theap);
+   pmem += HEAPmemsize(b->tvheap);
+   pvm += HEAPvmsize(b->tvheap);
+   } else {
+   tn++;
+   if (b->theap &&
+   b->theap->parentid == 
b->batCacheid) {
+   tmem += HEAPmemsize(b->theap);
+   tvm += HEAPvmsize(b->theap);
+   }
+   if (b->tvheap &&
+   b->tvheap->parentid == 
b->batCacheid) {
+   tmem += HEAPmemsize(b->tvheap);
+   tvm += HEAPvmsize(b->tvheap);
+   }
}
-   if (b->tvheap &&
-   b->tvheap->parentid == b->batCacheid) {
-   tmem += HEAPmemsize(b->tvheap);
-   tvm += HEAPvmsize(b->tvheap);
-   }
+   MT_lock_unset(&b->theaplock);
}
}
-   BBPtmunlock();
-   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);
-   } else {
-   printf("BBP currently locked, so no information available\n");
+   MT_lock_unset(&GDKswapLock(i));
}
+   BBPtmunlock();
+   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);
 }
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -3377,8 +3377,10 @@ void
 log_printinfo(logger *lg)
 {
printf("logger %s:\n", 

MonetDB: Dec2023 - Warn unused result.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: fb1c911fd4d6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fb1c911fd4d6
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_atoms.h
Branch: Dec2023
Log Message:

Warn unused result.


diffs (47 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
@@ -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);
@@ -424,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);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -656,7 +656,8 @@ typedef struct {
 
 /* interface definitions */
 gdk_export void *VALconvert(int typ, ValPtr t);
-gdk_export char *VALformat(const ValRecord *res);
+gdk_export char *VALformat(const ValRecord *res)
+   __attribute__((__warn_unused_result__));
 gdk_export ValPtr VALcopy(ValPtr dst, const ValRecord *src);
 gdk_export ValPtr VALinit(ValPtr d, int tpe, const void *s);
 gdk_export void VALempty(ValPtr v);
diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h
--- a/gdk/gdk_atoms.h
+++ b/gdk/gdk_atoms.h
@@ -75,7 +75,8 @@ gdk_export size_t ATOMlen(int id, const 
 gdk_export void *ATOMnil(int id)
__attribute__((__malloc__));
 gdk_export int ATOMprint(int id, const void *val, stream *fd);
-gdk_export char *ATOMformat(int id, const void *val);
+gdk_export char *ATOMformat(int id, const void *val)
+   __attribute__((__warn_unused_result__));
 
 gdk_export void *ATOMdup(int id, const void *val);
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Use const.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 906506deba67 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/906506deba67
Modified Files:
clients/Tests/exports.stable.out
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
Branch: Dec2023
Log Message:

Use const.


diffs (49 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
@@ -874,8 +874,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 *corrRef;
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -474,7 +474,7 @@ newInstruction(MalBlkPtr mb, const char 
 }
 
 InstrPtr
-copyInstructionArgs(InstrPtr p, int args)
+copyInstructionArgs(const InstrRecord *p, int args)
 {
if (args < p->maxarg)
args = p->maxarg;
@@ -493,7 +493,7 @@ copyInstructionArgs(InstrPtr p, int args
 }
 
 InstrPtr
-copyInstruction(InstrPtr p)
+copyInstruction(const InstrRecord *p)
 {
return copyInstructionArgs(p, p->maxarg);
 }
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -145,8 +145,8 @@ mal_export InstrPtr newInstruction(MalBl
   const char 
*fcnnme);
 mal_export InstrPtr newInstructionArgs(MalBlkPtr mb, const char *modnme,
   
const char *fcnnme, int args);
-mal_export InstrPtr copyInstruction(InstrPtr p);
-mal_export InstrPtr copyInstructionArgs(InstrPtr p, int args);
+mal_export InstrPtr copyInstruction(const InstrRecord *p);
+mal_export InstrPtr copyInstructionArgs(const InstrRecord *p, int args);
 mal_export void clrInstruction(InstrPtr p);
 mal_export void freeInstruction(InstrPtr p);
 mal_export void clrFunction(InstrPtr p);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Remove debug print.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 59f158368a24 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/59f158368a24
Modified Files:
sql/server/rel_optimize_sel.c
Branch: Dec2023
Log Message:

Remove debug print.


diffs (11 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
@@ -3595,7 +3595,6 @@ rel_use_index(visitor *v, sql_rel *rel)
 
/* swapped ? */
if (is_join(rel->op) && ((left && 
!rel_find_exp(rel->l, e->l)) || (!left && !rel_find_exp(rel->r, e->l {
-   printf("# join swap exp for fk\n");
exp_swap(e);
}
p = find_prop(e->p, PROP_HASHCOL);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Also dump with geos 3.12: we fix up the old d...

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 09a6400c6f45 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/09a6400c6f45
Modified Files:
sql/test/testdb-previous-upgrade-chain-hge/Tests/All
sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out
sql/test/testdb-previous-upgrade-chain/Tests/All
sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out
sql/test/testdb-previous-upgrade-hge/Tests/All
sql/test/testdb-previous-upgrade-hge/Tests/dump.stable.out
sql/test/testdb-previous-upgrade/Tests/All
sql/test/testdb-previous-upgrade/Tests/dump.stable.out
sql/test/testdb-upgrade-chain-hge/Tests/All
sql/test/testdb-upgrade-chain-hge/Tests/dump.stable.out
sql/test/testdb-upgrade-chain/Tests/All
sql/test/testdb-upgrade-chain/Tests/dump.stable.out
sql/test/testdb-upgrade-hge/Tests/All
sql/test/testdb-upgrade-hge/Tests/dump.stable.out
sql/test/testdb-upgrade/Tests/All
sql/test/testdb-upgrade/Tests/dump.stable.out
sql/test/testdb/Tests/All
sql/test/testdb/Tests/dump.SQL.py
sql/test/testdb/Tests/dump.stable.out
Branch: Dec2023
Log Message:

Also dump with geos 3.12: we fix up the old dump output to look like the new.


diffs (205 lines):

diff --git a/sql/test/testdb-previous-upgrade-chain-hge/Tests/All 
b/sql/test/testdb-previous-upgrade-chain-hge/Tests/All
--- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/All
+++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/All
@@ -1,2 +1,2 @@
 HAVE_HGE&HAVE_GEOM&PREVHGECHAINREL&!NOWAL?upgrade
-!GEOS_VERSION>=3.12?dump
+dump
diff --git a/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out 
b/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out
--- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out
+++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out
@@ -101206,7 +101206,7 @@ CREATE TABLE "testschema"."geomtest" (
"m"   MBR
 );
 COPY 2 RECORDS INTO "testschema"."geomtest" FROM stdin USING DELIMITERS 
E'\t',E'\n','"';
-POINT (10.5 12.3)  LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 
10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   
POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   MULTIPOINT (20 80, 110 160, 20 
160) MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTILINESTRING ((0 0, 
0 80, 60 80, 60 0, 0 0)) MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 
110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))MULTIPOLYGON (((140 
110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 
300 270)))POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   
GEOMETRYCOLLECTION (POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0)), LINESTRING (10 
10, 20 20, 30 40))  BOX (10.00 10.00, 20.00 20.00)
+POINT (10.5 12.3)  LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 
10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   
POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   MULTIPOINT ((20 80), (110 160), 
(20 160))   MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTILINESTRING 
((0 0, 0 80, 60 80, 60 0, 0 0)) MULTIPOLYGON (((140 110, 260 110, 170 20, 50 
20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))MULTIPOLYGON 
(((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 
190, 300 270)))POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   
GEOMETRYCOLLECTION (POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0)), LINESTRING (10 
10, 20 20, 30 40))  BOX (10.00 10.00, 20.00 20.00)
 NULL   NULLNULLNULLNULLNULLNULLNULLNULLNULL
NULLNULLNULL
 create view keytest3 as select t2.key1, t2.key2, t1.key3 from keytest1 t1, 
keytest2 t2 where t1.key1 = t2.key1 and t1.key2 = t2.key2;
 create trigger keytesttrigger after update on keytest1 referencing new row as 
new_row for each row insert into keytest2 values (new_row.key1, new_row.key2);
diff --git a/sql/test/testdb-previous-upgrade-chain/Tests/All 
b/sql/test/testdb-previous-upgrade-chain/Tests/All
--- a/sql/test/testdb-previous-upgrade-chain/Tests/All
+++ b/sql/test/testdb-previous-upgrade-chain/Tests/All
@@ -1,2 +1,2 @@
 HAVE_GEOM&PREVCHAINREL&!NOWAL?upgrade
-!GEOS_VERSION>=3.12?dump
+dump
diff --git a/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out 
b/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out
--- a/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out
+++ b/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out
@@ -101206,7 +101206,7 @@ CREATE TABLE "testschema"."geomtest" (
"m"   MBR
 );
 COPY 2 RECORDS INTO "testschema"."geomtest" FROM stdin USING DELIMITERS 
E'\t',E'\n','"';
-POINT (10.5 12.3)  LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 
10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   
POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10))   MULTIPOIN

MonetDB: default - Merge with Dec2023 branch.

2023-11-13 Thread Sjoerd Mullender via checkin-list
Changeset: 50c0123fb80d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/50c0123fb80d
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (truncated from 585 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
@@ -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);
@@ -872,8 +874,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 *corrRef;
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -656,7 +656,8 @@ typedef struct {
 
 /* interface definitions */
 gdk_export void *VALconvert(int typ, ValPtr t);
-gdk_export char *VALformat(const ValRecord *res);
+gdk_export char *VALformat(const ValRecord *res)
+   __attribute__((__warn_unused_result__));
 gdk_export ValPtr VALcopy(ValPtr dst, const ValRecord *src);
 gdk_export ValPtr VALinit(ValPtr d, int tpe, const void *s);
 gdk_export void VALempty(ValPtr v);
diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h
--- a/gdk/gdk_atoms.h
+++ b/gdk/gdk_atoms.h
@@ -75,7 +75,8 @@ gdk_export size_t ATOMlen(int id, const 
 gdk_export void *ATOMnil(int id)
__attribute__((__malloc__));
 gdk_export int ATOMprint(int id, const void *val, stream *fd);
-gdk_export char *ATOMformat(int id, const void *val);
+gdk_export char *ATOMformat(int id, const void *val)
+   __attribute__((__warn_unused_result__));
 
 gdk_export void *ATOMdup(int id, const void *val);
 
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -4618,47 +4618,47 @@ BBPtmunlock(void)
 void
 BBPprintinfo(void)
 {
-   if (MT_lock_try(&GDKtmLock)) {
-   BBPtmlockFinish();
-   size_t tmem = 0, tvm = 0;
-   size_t pmem = 0, pvm = 0;
-   int tn = 0;
-   int pn = 0;
-   int nh = 0;
-
-   for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) {
-   if (BBP_refs(i) == 0 && BBP_lrefs(i) == 0)
-   continue;
+   size_t tmem = 0, tvm = 0;
+   size_t pmem = 0, pvm = 0;
+   int tn = 0;
+   int pn = 0;
+   int nh = 0;
+
+   BBPtmlock();
+   for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) {
+   MT_lock_set(&GDKswapLock(i));
+   if (BBP_refs(i) > 0 || BBP_lrefs(i) > 0) {
BAT *b = BBP_desc(i);
-   if (b == NULL)
-   continue;
-   ATOMIC_BASE_TYPE status = BBP_status(i);
-   nh += (status & BBPHOT) != 0;
-   if (status & BBPPERSISTENT) {
-   pn++;
-   pmem += HEAPmemsize(b->theap);
-   pvm += HEAPvmsi

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 *corrRef;