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

Reply via email to