Changeset: 1f4918266c43 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f4918266c43
Modified Files:
gdk/gdk.h
gdk/gdk_atoms.c
geom/monetdb5/geom.c
monetdb5/modules/atoms/blob.c
Branch: Jun2016
Log Message:
Merge with Jul2015 branch.
diffs (64 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1218,6 +1218,7 @@ gdk_export bte ATOMelmshift(int sz);
do { \
assert((b)->HT->width == (s)); \
(b)->HT->heap.free += (s); \
+ (b)->HT->heap.dirty |= (s) != 0; \
HTputvalue((b), HT##loc((b), (p)), (v), 0, HT); \
} while (0)
#define tfastins_nocheck(b, p, v, s) HTfastins_nocheck(b, p, v, s, T)
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -1316,6 +1316,7 @@ strPut(Heap *h, var_t *dst, const char *
#endif
}
h->free += pad + len + extralen;
+ h->dirty = 1;
/* maintain hash table */
pos -= extralen;
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -5030,8 +5030,10 @@ var_t wkbPUT(Heap *h, var_t *bun, wkb *v
*bun = HEAP_malloc(h, wkb_size(val->len));
base = h->base;
- if (*bun)
+ if (*bun) {
memcpy(&base[*bun << GDK_VARSHIFT], (char *) val,
wkb_size(val->len));
+ h->dirty = 1;
+ }
return *bun;
}
@@ -5378,8 +5380,10 @@ var_t wkbaPUT(Heap *h, var_t *bun, wkba
*bun = HEAP_malloc(h, wkba_size(val->itemsNum));
base = h->base;
- if (*bun)
+ if (*bun) {
memcpy(&base[*bun << GDK_VARSHIFT], (char *) val,
wkba_size(val->itemsNum));
+ h->dirty = 1;
+ }
return *bun;
}
diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c
--- a/monetdb5/modules/atoms/blob.c
+++ b/monetdb5/modules/atoms/blob.c
@@ -86,8 +86,10 @@ blob_put(Heap *h, var_t *bun, blob *val)
*bun = HEAP_malloc(h, blobsize(val->nitems));
base = h->base;
- if (*bun)
+ if (*bun) {
memcpy(&base[*bun << GDK_VARSHIFT], (char *) val,
blobsize(val->nitems));
+ h->dirty = 1;
+ }
return *bun;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list