Changeset: 7d49bfe62235 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7d49bfe62235
Modified Files:
        gdk/gdk_bbp.c
Branch: default
Log Message:

Merged with Jul2021


diffs (88 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1562,32 +1562,36 @@ BBPinit(void)
 
 #ifdef GDKLIBRARY_TAILN
        char *needstrbatmove;
-       needstrbatmove = GDKfilepath(0, BATDIR, "needstrbatmove", NULL);
-       if (bbpversion <= GDKLIBRARY_TAILN) {
-               /* create signal file that we need to rename string
-                * offset heaps */
-               int fd = MT_open(needstrbatmove, O_WRONLY | O_CREAT);
-               if (fd < 0) {
-                       TRC_CRITICAL(GDK, "cannot create signal file 
needstrbatmove.\n");
-                       GDKfree(needstrbatmove);
-                       return GDK_FAIL;
-               }
-               close(fd);
+       if (GDKinmemory(0)) {
+               needstrbatmove = NULL;
        } else {
-               /* check signal file whether we need to rename string
-                * offset heaps */
-               int fd = MT_open(needstrbatmove, O_RDONLY);
-               if (fd >= 0) {
-                       /* yes, we do */
+               needstrbatmove = GDKfilepath(0, BATDIR, "needstrbatmove", NULL);
+               if (bbpversion <= GDKLIBRARY_TAILN) {
+                       /* create signal file that we need to rename string
+                        * offset heaps */
+                       int fd = MT_open(needstrbatmove, O_WRONLY | O_CREAT);
+                       if (fd < 0) {
+                               TRC_CRITICAL(GDK, "cannot create signal file 
needstrbatmove.\n");
+                               GDKfree(needstrbatmove);
+                               return GDK_FAIL;
+                       }
                        close(fd);
-               } else if (errno == ENOENT) {
-                       /* no, we don't: set var to NULL */
-                       GDKfree(needstrbatmove);
-                       needstrbatmove = NULL;
                } else {
-                       GDKsyserror("unexpected error opening %s\n", 
needstrbatmove);
-                       GDKfree(needstrbatmove);
-                       return GDK_FAIL;
+                       /* check signal file whether we need to rename string
+                        * offset heaps */
+                       int fd = MT_open(needstrbatmove, O_RDONLY);
+                       if (fd >= 0) {
+                               /* yes, we do */
+                               close(fd);
+                       } else if (errno == ENOENT) {
+                               /* no, we don't: set var to NULL */
+                               GDKfree(needstrbatmove);
+                               needstrbatmove = NULL;
+                       } else {
+                               GDKsyserror("unexpected error opening %s\n", 
needstrbatmove);
+                               GDKfree(needstrbatmove);
+                               return GDK_FAIL;
+                       }
                }
        }
 #endif
diff --git a/sql/server/sql_semantic.c b/sql/server/sql_semantic.c
--- a/sql/server/sql_semantic.c
+++ b/sql/server/sql_semantic.c
@@ -951,7 +951,6 @@ sql_subtype *
 result_datatype(sql_subtype *super, sql_subtype *l, sql_subtype *r)
 {
        int lclass = l->type->eclass, rclass = r->type->eclass;
-       int lc=0, rc=0;
 
        /* case a strings */
        if (EC_VARCHAR(lclass) || EC_VARCHAR(rclass)) {
@@ -970,11 +969,8 @@ result_datatype(sql_subtype *super, sql_
                }
                sql_find_subtype(super, tpe, digits, 0);
        /* case b blob */
-       } else if ((lc=strcmp(l->type->base.name, "blob")) == 0 || 
(rc=strcmp(r->type->base.name, "blob")) == 0) {
-               if (!lc)
-                       *super = *l;
-               else
-                       *super = *r;
+       } else if (lclass == EC_BLOB || rclass == EC_BLOB) {
+               *super = (lclass == EC_BLOB) ? *l : *r;
        /* case c all exact numeric */
        } else if (EC_EXACTNUM(lclass) && EC_EXACTNUM(rclass)) {
                char *tpe = (l->type->base.id > 
r->type->base.id)?l->type->base.name:r->type->base.name;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to