Changeset: a1a068244dfc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a1a068244dfc
Modified Files:
        gdk/gdk.h
        gdk/gdk_bbp.c
        gdk/gdk_logger.c
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_session.c
Branch: Jun2023
Log Message:

Merge with Sep2022 branch.


diffs (46 lines):

diff --git a/gdk/ChangeLog.Sep2022 b/gdk/ChangeLog.Sep2022
--- a/gdk/ChangeLog.Sep2022
+++ b/gdk/ChangeLog.Sep2022
@@ -1,6 +1,10 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Tue Apr 25 2023 Sjoerd Mullender <[email protected]>
+- Fixed parsing of the BBP.dir file when BAT ids grow larger than 2**24
+  (i.e. 100000000 in octal).
+
 * Thu Apr 20 2023 Sjoerd Mullender <[email protected]>
 - Fixed yet another occurrence of a missing .tailN file.  This one could
   happen if a string bat was appended to in stages so that between appends
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -647,14 +647,14 @@ BBPreadBBPline(FILE *fp, unsigned bbpver
 
        if (bbpversion <= GDKLIBRARY_HSIZE ?
            sscanf(buf,
-                  "%" SCNu64 " %u %128s %19s %u %" SCNu64
+                  "%" SCNu64 " %u %128s %23s %u %" SCNu64
                   " %" SCNu64 " %" SCNu64
                   "%n",
                   &batid, &status, batname, filename,
                   &properties, &count, &capacity, &base,
                   &nread) < 8 :
            sscanf(buf,
-                  "%" SCNu64 " %u %128s %19s %u %" SCNu64
+                  "%" SCNu64 " %u %128s %23s %u %" SCNu64
                   " %" SCNu64
                   "%n",
                   &batid, &status, batname, filename,
diff --git a/sql/storage/bat/bat_utils.h b/sql/storage/bat/bat_utils.h
--- a/sql/storage/bat/bat_utils.h
+++ b/sql/storage/bat/bat_utils.h
@@ -17,7 +17,7 @@
 /* when returning a log_bid, errors are reported using BID_NIL */
 #define BID_NIL 0
 
-#define bat_set_access(b,access) b->batRestricted = access
+#define bat_set_access(b,access) do { if (b->batRestricted != access) 
b->batRestricted = access; } while (0)
 
 extern BAT *temp_descriptor(log_bid b);
 extern BAT *quick_descriptor(log_bid b);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to