Changeset: d2723006540f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d2723006540f
Modified Files:
        sql/server/rel_select.c
        sql/server/sql_atom.c
        sql/test/BugTracker-2017/Tests/All
Branch: Dec2016
Log Message:

revert change to All file, heapextent crashes my laptop


diffs (71 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -772,17 +772,27 @@ rel_values( mvc *sql, symbol *tableref)
                sql_exp *vals = m->data;
                list *vals_list = vals->f;
                list *nexps = sa_list(sql->sa);
+               sql_subtype *tpe = exp_subtype(vals_list->h->data);
+
+               if (tpe)
+                       vals->tpe = *tpe;
 
                /* first get super type */
-               vals->tpe = *exp_subtype(vals_list->h->data);
-
                for (n = vals_list->h; n; n = n->next) {
                        sql_exp *e = n->data;
-                       sql_subtype super;
-
-                       supertype(&super, &vals->tpe, exp_subtype(e));
-                       vals->tpe = super;
+                       sql_subtype super, *ttpe;
+
+                       ttpe = exp_subtype(e);
+                       if (tpe && ttpe) {
+                               supertype(&super, tpe, ttpe);
+                               vals->tpe = super;
+                               tpe = &vals->tpe;
+                       } else {
+                               tpe = ttpe;
+                       }
                }
+               if (!tpe)
+                       continue;
                for (n = vals_list->h; n; n = n->next) {
                        sql_exp *e = n->data;
                        
diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c
--- a/sql/server/sql_atom.c
+++ b/sql/server/sql_atom.c
@@ -1196,9 +1196,18 @@ atom_cmp(atom *a1, atom *a2)
 atom * 
 atom_add(atom *a1, atom *a2)
 {
+//     ValRecord res;
+
        if ((!EC_COMPUTE(a1->tpe.type->eclass) && (a1->tpe.type->eclass != 
EC_DEC || a1->tpe.digits != a2->tpe.digits || a1->tpe.scale != a2->tpe.scale)) 
|| a1->tpe.digits < a2->tpe.digits || a1->tpe.type->localtype != 
a2->tpe.type->localtype) {
                return NULL;
        }
+       /*
+       if (VARcalcadd(&res, &a1->data, &a2->data, 1) == GDK_FAIL) {
+
+               return NULL;
+       }
+       a1->data = res;
+       */
        switch(a1->tpe.type->localtype) {
        case TYPE_bte:
                        a1->data.val.btval += a2->data.val.btval;
diff --git a/sql/test/BugTracker-2017/Tests/All 
b/sql/test/BugTracker-2017/Tests/All
--- a/sql/test/BugTracker-2017/Tests/All
+++ b/sql/test/BugTracker-2017/Tests/All
@@ -1,7 +1,7 @@
 shutdown.Bug-6182
 avggroupbysq.Bug-6178
 semijoinunion.Bug-6150
-#HAVE_LIBZ?heapextend.Bug-6134
+HAVE_LIBZ?heapextend.Bug-6134
 incorrect_error.Bug-6141
 empty-interval.Bug-6184
 crash_in_null_cast.Bug-6186
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to