Changeset: 200b9469f91d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/200b9469f91d
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk_bbp.c
gdk/gdk_bbp.h
sql/storage/bat/bat_storage.c
Branch: Jul2021
Log Message:
New function BBPcold to clear BBPHOT status bit.
Also don't clear the bit for bats in the transient farm.
diffs (56 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
@@ -206,6 +206,7 @@ BAT *BATunmask(BAT *b);
BBPrec *BBP[N_BBPINIT];
gdk_return BBPaddfarm(const char *dirname, uint32_t rolemask, bool logerror);
void BBPclear(bat bid);
+void BBPcold(bat i);
BAT *BBPdescriptor(bat b);
int BBPfix(bat b);
bat BBPindex(const char *nme);
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2112,6 +2112,18 @@ BBPspin(bat i, const char *s, unsigned e
}
}
+void
+BBPcold(bat i)
+{
+ if (!is_bat_nil(i)) {
+ BAT *b = BBP_cache(i);
+ if (b == NULL)
+ b = BBP_desc(i);
+ if (b == NULL || b->batRole == PERSISTENT)
+ BBP_status_off(i, BBPHOT);
+ }
+}
+
/* This function can fail if the input parameter (i) is incorrect
* (unlikely), of if the bat is a view, this is a physical (not
* logical) incref (i.e. called through BBPfix(), and it is the first
diff --git a/gdk/gdk_bbp.h b/gdk/gdk_bbp.h
--- a/gdk/gdk_bbp.h
+++ b/gdk/gdk_bbp.h
@@ -80,6 +80,7 @@ gdk_export int BBPretain(bat b);
gdk_export int BBPrelease(bat b);
gdk_export void BBPkeepref(bat i);
gdk_export void BBPshare(bat b);
+gdk_export void BBPcold(bat i);
#define BBPtmpcheck(s) (strncmp(s, "tmp_", 4) == 0)
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
@@ -867,7 +867,7 @@ cs_update_bat( sql_trans *tr, column_sto
res = LOG_ERR;
else if (BATreplace(b, otids, updates, true) != GDK_SUCCEED)
res = LOG_ERR;
- BBP_status_off(b->batCacheid, BBPHOT);
+ BBPcold(b->batCacheid);
bat_destroy(b);
}
if (otids != tids)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list