Changeset: 1a150f2906a9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1a150f2906a9
Modified Files:
        monetdb5/modules/mal/joinpath.c
        sql/backends/monet5/sql_execute.c
Branch: default
Log Message:

cleanup stack after execution (for now only needed for function ending with an 
exception )


diffs (28 lines):

diff --git a/monetdb5/modules/mal/joinpath.c b/monetdb5/modules/mal/joinpath.c
--- a/monetdb5/modules/mal/joinpath.c
+++ b/monetdb5/modules/mal/joinpath.c
@@ -202,9 +202,9 @@ ALGjoinPathBody(Client cntxt, int top, B
                                }
                                break;
                        }
-        case 1:
-            b = BATjoin(joins[j], joins[j + 1], (BATcount(joins[j]) < 
BATcount(joins[j + 1])? BATcount(joins[j]):BATcount(joins[ j + 1])));
-            break;
+               case 1:
+                       b = BATjoin(joins[j], joins[j + 1], (BATcount(joins[j]) 
< BATcount(joins[j + 1])? BATcount(joins[j]):BATcount(joins[ j + 1])));
+                       break;
                case 3:
                        b = BATproject(joins[j], joins[j + 1]);
                        ALGODEBUG{
diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -332,6 +332,8 @@ SQLexecutePrepared(Client c, backend *be
                v->vtype = TYPE_int;
                v->val.ival = int_nil;
        }
+       if (glb && ret) /* error */
+               garbageCollector(c, mb, glb, glb != 0);
        q->stk = (backend_stack) glb;
        if (glb && SQLdebug & 1)
                printStack(GDKstdout, mb, glb);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to