Changeset: f3b9358ab4a1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f3b9358ab4a1
Modified Files:
        .bumpversion.cfg
        .hgtags
        MonetDB.spec
        clients/Tests/exports.stable.out
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        debian/changelog
        debian/control
        gdk/ChangeLog-Archive
        gdk/gdk_align.c
        gdk/gdk_bbp.c
        gdk/gdk_logger.c
        gdk/gdk_logger.h
        gdk/gdk_private.h
        gdk/libbat.rc
        monetdb5/extras/rapi/rapi.c
        monetdb5/tools/libmonetdb5.rc
        sql/ChangeLog-Archive
        sql/storage/bat/bat_logger.c
        sql/storage/store.c
        tools/merovingian/ChangeLog-Archive
Branch: Jan2022
Log Message:

Merge with Jul2021 branch.


diffs (77 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -765,3 +765,4 @@ 025239a5a6f122042798c0f1132a2c6298514e06
 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_SP2_release
 2e54857a91306cc6304825c5596f65d00595db6b Jul2021_23
 2e54857a91306cc6304825c5596f65d00595db6b Jul2021_SP6_release
+1252291e5c0ddc91ccb16d612d04e34e6a7d3bc3 Jun2020_13
diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c
--- a/gdk/gdk_align.c
+++ b/gdk/gdk_align.c
@@ -266,7 +266,7 @@ BATmaterialize(BAT *b)
  * The @#VIEWunlink@ routine cuts a reference to the parent. Part of the view
  * destroy sequence.
  */
-static void
+void
 VIEWunlink(BAT *b)
 {
        if (b) {
@@ -279,8 +279,6 @@ VIEWunlink(BAT *b)
 
                if (tp)
                        tpb = BBP_cache(tp);
-               if (tp && !vtp)
-                       vtp = tp;
                if (vtp)
                        vtpb = BBP_cache(vtp);
 
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -3302,9 +3302,11 @@ BBPdestroy(BAT *b)
        bat tp = VIEWtparent(b);
        bat vtp = VIEWvtparent(b);
 
-       if (isVIEW(b)) {        /* a physical view */
-               VIEWdestroy(b);
-       } else {
+       HASHdestroy(b);
+       IMPSdestroy(b);
+       OIDXdestroy(b);
+       PROPdestroy(b);
+       if (tp == 0) {
                /* bats that get destroyed must unfix their atoms */
                gdk_return (*tunfix) (const void *) = 
BATatoms[b->ttype].atomUnfix;
                assert(b->batSharecnt == 0);
@@ -3317,8 +3319,16 @@ BBPdestroy(BAT *b)
                                (void) (*tunfix)(BUNtail(bi, p));
                        }
                }
-               BATdelete(b);   /* handles persistent case also (file deletes) 
*/
        }
+       if (tp || vtp)
+               VIEWunlink(b);
+       if (b->theap) {
+               HEAPfree(b->theap, true);
+       }
+       if (b->tvheap)
+               HEAPfree(b->tvheap, true);
+       b->batCopiedtodisk = false;
+
        BBPclear(b->batCacheid, true);  /* if destroyed; de-register from BBP */
 
        /* parent released when completely done with child */
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -277,6 +277,8 @@ gdk_return unshare_varsized_heap(BAT *b)
        __attribute__((__visibility__("hidden")));
 void VIEWdestroy(BAT *b)
        __attribute__((__visibility__("hidden")));
+void VIEWunlink(BAT *b)
+       __attribute__((__visibility__("hidden")));
 BAT *virtualize(BAT *bn)
        __attribute__((__visibility__("hidden")));
 
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to