Changeset: e97cd4d87b96 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e97cd4d87b96
Modified Files:
gdk/gdk.h
gdk/gdk_strimps.c
monetdb5/mal/mal_profiler.c
monetdb5/modules/mal/remote.c
sql/storage/bat/bat_storage.c
Branch: default
Log Message:
Merge with Dec2023 branch.
diffs (114 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -900,9 +900,10 @@ gdk_export size_t HEAPmemsize(Heap *h);
gdk_export void HEAPdecref(Heap *h, bool remove);
gdk_export void HEAPincref(Heap *h);
-#define isVIEW(x) \
- (((x)->theap && (x)->theap->parentid != (x)->batCacheid) || \
- ((x)->tvheap && (x)->tvheap->parentid != (x)->batCacheid))
+#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid ==
(x)->batCacheid ? 0 : (x)->theap->parentid)
+#define VIEWvtparent(x) ((x)->tvheap == NULL || (x)->tvheap->parentid
== (x)->batCacheid ? 0 : (x)->tvheap->parentid)
+
+#define isVIEW(x) (VIEWtparent(x) != 0 || VIEWvtparent(x) != 0)
/*
* @+ BAT Buffer Pool
@@ -1083,7 +1084,7 @@ bat_iterator_nolock(BAT *b)
{
/* does not get matched by bat_iterator_end */
if (b) {
- bool isview = isVIEW(b);
+ bool isview = VIEWtparent(b);
return (BATiter) {
.b = b,
.h = b->theap,
@@ -2162,9 +2163,6 @@ gdk_export void VIEWbounds(BAT *b, BAT *
} \
} while (false)
-#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid ==
(x)->batCacheid ? 0 : (x)->theap->parentid)
-#define VIEWvtparent(x) ((x)->tvheap == NULL || (x)->tvheap->parentid
== (x)->batCacheid ? 0 : (x)->tvheap->parentid)
-
/*
* @+ BAT Iterators
* @multitable @columnfractions 0.15 0.7
diff --git a/gdk/gdk_strimps.c b/gdk/gdk_strimps.c
--- a/gdk/gdk_strimps.c
+++ b/gdk/gdk_strimps.c
@@ -551,7 +551,7 @@ STRMPfilter(BAT *b, BAT *s, const char *
TRC_DEBUG_IF(ACCELERATOR) t0 = GDKusec();
- if (isVIEW(b)) {
+ if (VIEWtparent(b)) {
pb = BATdescriptor(VIEWtparent(b));
if (pb == NULL)
return NULL;
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -396,7 +396,7 @@ prepareMalEvent(Client cntxt, MalBlkPtr
* without further locking */
MT_lock_unset(&d->theaplock);
cnt = di.count;
- if (isVIEW(d)) {
+ if (VIEWtparent(d)) {
BAT *v =
BBP_desc(VIEWtparent(d));
MT_lock_set(&v->theaplock);
bool vtransient =
v->batTransient;
diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c
--- a/monetdb5/modules/mal/remote.c
+++ b/monetdb5/modules/mal/remote.c
@@ -1546,7 +1546,7 @@ RMTbincopyto(Client cntxt, MalBlkPtr mb,
sendtheap = b->ttype != TYPE_void;
sendtvheap = sendtheap && b->tvheap;
- if (isVIEW(b) && sendtvheap && VIEWvtparent(b)
+ if (sendtvheap && VIEWvtparent(b)
&& BATcount(b) < BATcount(BBP_desc(VIEWvtparent(b)))) {
if ((b = BATdescriptor(bid)) == NULL) {
BBPunfix(bid);
diff --git a/sql/backends/monet5/sql_statistics.c
b/sql/backends/monet5/sql_statistics.c
--- a/sql/backends/monet5/sql_statistics.c
+++ b/sql/backends/monet5/sql_statistics.c
@@ -183,7 +183,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb,
int access = c->storage_type &&
c->storage_type[0] == 'D' ? RD_EXT : RDONLY;
if (!(b =
store->storage_api.bind_col(tr, c, access)))
continue; /* At the moment we
ignore the error, but maybe we can change this */
- if (isVIEW(b)) { /* If it is a view get
the parent BAT */
+ if (VIEWtparent(b)) { /* If it is a
view get the parent BAT */
BAT *nb =
BATdescriptor(VIEWtparent(b));
BBPunfix(b->batCacheid);
b = nb;
@@ -370,7 +370,7 @@ sql_statistics(Client cntxt, MalBlkPtr m
goto bailout;
}
BATiter rei =
bat_iterator(re);
- if (isVIEW(re)) { /* If
it is a view get the parent BAT */
+ if (VIEWtparent(re)) {
/* If it is a view get the parent BAT */
BAT *nb =
BATdescriptor(VIEWtparent(re));
BBPunfix(re->batCacheid);
re = nb;
@@ -423,7 +423,7 @@ sql_statistics(Client cntxt, MalBlkPtr m
msg =
createException(SQL, "sql.statistics", SQLSTATE(HY005) "Cannot access column
descriptor");
goto
bailout;
}
- if (isVIEW(fb))
{ /* If it is a view get the parent BAT */
+ if
(VIEWtparent(fb)) { /* If it is a view get the parent BAT */
BAT *nb
= BATdescriptor(VIEWtparent(fb));
BBPunfix(fb->batCacheid);
fb = nb;
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
@@ -2719,7 +2719,7 @@ dcount_col(sql_trans *tr, sql_column *c)
static BAT *
bind_no_view(BAT *b, bool quick)
{
- if (isVIEW(b)) { /* If it is a view get the parent BAT */
+ if (VIEWtparent(b)) { /* If it is a view get the parent BAT */
BAT *nb = BBP_desc(VIEWtparent(b));
bat_destroy(b);
if (!(b = quick ? quick_descriptor(nb->batCacheid) :
temp_descriptor(nb->batCacheid)))
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]