Changeset: 91e67236e32a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=91e67236e32a
Modified Files:
        monetdb5/mal/mal_instruction.c
        sql/backends/monet5/sql_gencode.c
Branch: oltp
Log Message:

Fix the explicit transaction command structure


diffs (41 lines):

diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -1273,6 +1273,7 @@ pushArgument(MalBlkPtr mb, InstrPtr p, i
        if (p == NULL)
                return NULL;
        if (varid < 0) {
+               assert(0);
                freeInstruction(p);
                return NULL;
        }
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -2445,17 +2445,23 @@ static int
                        switch(s->flag){
                        case DDL_RELEASE:
                                q = newStmt(mb, sqlRef, transaction_releaseRef);
-                               q = pushArgument(mb, q, r);
+                               q = pushArgument(mb, q, l);
                                break;
                        case DDL_COMMIT:
                                q = newStmt(mb, sqlRef, transaction_commitRef);
                                q = pushArgument(mb, q, l);
-                               q = pushArgument(mb, q, r);
+                               if( r > 0)
+                                       q = pushArgument(mb, q, r);
+                               else
+                                       q = pushNil(mb,q,TYPE_str);
                                break;
                        case DDL_ROLLBACK:
                                q = newStmt(mb, sqlRef, 
transaction_rollbackRef);
                                q = pushArgument(mb, q, l);
-                               q = pushArgument(mb, q, r);
+                               if( r > 0)
+                                       q = pushArgument(mb, q, r);
+                               else
+                                       q = pushNil(mb,q,TYPE_str);
                                break;
                        case DDL_TRANS:
                                q = newStmt(mb, sqlRef, transaction_beginRef);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to