Changeset: 665ca02aa874 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/665ca02aa874
Modified Files:
        gdk/gdk_bat.c
        gdk/gdk_utils.c
        sql/storage/bat/bat_storage.c
Branch: default
Log Message:

Merge with Dec2025 branch.


diffs (104 lines):

diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -786,6 +786,13 @@ COLcopy2(BAT *b, int tt, bool writable, 
                         * offset heap is only (less than) half the size
                         * of the parent's offset heap */
                        slowcopy = true;
+               } else if (bi.vh && role == PERSISTENT && !writable) {
+                       /* writable usually means no view, but
+                        * role==PERSISTENT already implies that, so we
+                        * use it to decide whether we can do a faster
+                        * memcpy (if true) or must do a slower
+                        * individual insert (if false) */
+                       slowcopy = true;
                }
        }
 
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -2507,8 +2507,10 @@ void
 ma_free(allocator *sa, void *obj)
 {
        COND_LOCK_ALLOCATOR(sa);
-       if (!obj || ma_tmp_active(sa))
+       if (!obj || ma_tmp_active(sa)) {
+               COND_UNLOCK_ALLOCATOR(sa);
                return; // nothing to do
+       }
        // retrieve size from header
        void *ptr = (char *) obj - MA_HEADER_SIZE;
        size_t sz = *((size_t *) ptr);
diff --git a/sql/benchmarks/tpcds/Tests/alter.timeout 
b/sql/benchmarks/tpcds/Tests/alter.timeout
deleted file mode 100644
--- a/sql/benchmarks/tpcds/Tests/alter.timeout
+++ /dev/null
@@ -1,1 +0,0 @@
-3
diff --git a/sql/benchmarks/tpcds/Tests/load.timeout 
b/sql/benchmarks/tpcds/Tests/load.timeout
--- a/sql/benchmarks/tpcds/Tests/load.timeout
+++ b/sql/benchmarks/tpcds/Tests/load.timeout
@@ -1,1 +1,1 @@
-3
+5
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -5078,7 +5078,7 @@ vacuum_col(sql_trans *tr, sql_column *c,
        BAT *b = NULL, *bn = NULL;;
        if ((b = bind_col(tr, c, 0)) == NULL)
                return LOG_ERR;
-       if ((bn = COLcopy(b, b->ttype, true, PERSISTENT)) == NULL) {
+       if ((bn = COLcopy(b, b->ttype, false, PERSISTENT)) == NULL) {
                BBPreclaim(b);
                return LOG_ERR;
        }
@@ -5117,7 +5117,7 @@ vacuum_tab(sql_trans *tr, sql_table *t, 
                BAT *b = NULL, *bn = NULL;;
                if ((b = bind_col(tr, c, 0)) == NULL)
                        return LOG_ERR;
-               if ((bn = COLcopy(b, b->ttype, true, PERSISTENT)) == NULL) {
+               if ((bn = COLcopy(b, b->ttype, false, PERSISTENT)) == NULL) {
                        BBPreclaim(b);
                        return LOG_ERR;
                }
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2746,7 +2746,7 @@ class ServerClass:
         self.sendusr1()
 
     def checkkeys(self):
-        if not checkkeys:
+        if not checkkeys or self.port is None:
             return
         self.outfile.flush()
         try:
@@ -2817,12 +2817,10 @@ class ServerClass:
                 self.lock.release()
 
     def LaunchIt(self, cwd=None, env=os.environ):
-        self.outfile.flush()
-        self.errfile.flush()
-
         cmd = self.cmd
         if procdebug:
             print('LaunchIt: starting process "%s" (inpipe)\n' % '" 
"'.join(cmd))
+
         stdin = process.DEVNULL
         stdout = self.outfile
         stderr = self.errfile
@@ -2843,6 +2841,12 @@ class ServerClass:
 
         else:
             stdout = process.PIPE
+        print(f'# Launching {cmd}', file=self.outfile)
+        if cwd is not None:
+            print(f'# in directory {cwd}', file=self.outfile)
+        print(f'# Environment: {env}', file=self.outfile)
+        self.outfile.flush()
+        self.errfile.flush()
         if os.name == 'nt':
             proc = process.Popen(cmd, stdin=stdin, stdout=stdout,
                                  stderr=stderr, text=True, cwd=cwd, env=env,
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to