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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list