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 -- [email protected]
To unsubscribe send an email to [email protected]