Changeset: ef3ccd34e1f4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ef3ccd34e1f4
Modified Files:
buildtools/autogen/autogen/am.py
gdk/gdk_bat.c
Branch: default
Log Message:
Merge with Oct2014 branch.
diffs (68 lines):
diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py
--- a/buildtools/autogen/autogen/am.py
+++ b/buildtools/autogen/autogen/am.py
@@ -960,6 +960,7 @@ def am_gem(fd, var, gem, am):
dirs.append(d)
fd.write("\t[ '$(srcdir)' -ef . ] || cp -p '$(srcdir)/%s' '%s'\n"
% (src, src))
fd.write("\tgem build '%s'\n" % f)
+ fd.write("\tgem install --local --install-dir ./'%s' --bindir .'%s'
--force --document=ri,rdoc %s\n" % (rd, am_translate_dir('bindir', am), f[:-4]))
fd.write('mostlyclean-local: mostlyclean-local-%s\n' % sf)
fd.write('.PHONY: mostlyclean-local-%s\n' % sf)
fd.write('mostlyclean-local-%s:\n' % sf)
@@ -969,7 +970,7 @@ def am_gem(fd, var, gem, am):
fd.write("\t[ '$(srcdir)' -ef . -o ! -d '%s' ] || rmdir '%s'\n" %
(d, d))
fd.write("install-exec-local-%s: %s\n" % (sf, f[:-4]))
fd.write("\tmkdir -p $(DESTDIR)'%s'\n" % rd)
- fd.write("\tgem install --local --install-dir $(DESTDIR)'%s' --force
--rdoc '%s'\n" % (rd, f[:-4]))
+ fd.write("\tcp -a ./'%s'/* $(DESTDIR)'%s'\n" % (rd, rd))
fd.write("uninstall-local-%s: %s\n" % (sf, f[:-4]))
# remove "-0.1.gemspec" from end of `f'
fd.write("\tgem uninstall --install-dir $(DESTDIR)'%s' '%s'\n" % (rd,
f[:-12]))
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1170,13 +1170,14 @@ BUNins(BAT *b, const void *h, const void
if (BUNinplace(bm, p, t, h, force) == GDK_FAIL)
return GDK_FAIL;
} else {
+ size_t hsize = 0, tsize = 0;
+
p = BUNlast(b); /* insert at end */
if (p == BUN_MAX || b->batCount == BUN_MAX) {
GDKerror("BUNins: bat too large\n");
return GDK_FAIL;
}
- HASHdestroy(b);
if (unshare_string_heap(b) == GDK_FAIL) {
GDKerror("BUNins: failed to unshare string heap\n");
return GDK_FAIL;
@@ -1184,6 +1185,10 @@ BUNins(BAT *b, const void *h, const void
ALIGNins(b, "BUNins", force, GDK_FAIL);
b->batDirty = 1;
+ if (b->H->hash && b->H->vheap)
+ hsize = b->H->vheap->size;
+ if (b->T->hash && b->T->vheap)
+ tsize = b->T->vheap->size;
setcolprops(b, b->H, h);
setcolprops(b, b->T, t);
@@ -1193,6 +1198,17 @@ BUNins(BAT *b, const void *h, const void
} else {
BATsetcount(b, b->batCount + 1);
}
+
+ if (b->H->hash) {
+ HASHins(b, p, h);
+ if (hsize && hsize != b->H->vheap->size)
+ HEAPwarm(b->H->vheap);
+ }
+ if (b->T->hash) {
+ HASHins(bm, p, t);
+ if (tsize && tsize != b->T->vheap->size)
+ HEAPwarm(b->T->vheap);
+ }
}
IMPSdestroy(b); /* no support for inserts in imprints yet */
return GDK_SUCCEED;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list