Changeset: 3969edad6c01 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3969edad6c01
Modified Files:
        sql/server/sql_mvc.c
Branch: 2PC
Log Message:

An attempt to fix Niels' fix yesterday to correctly reject concurrent updates 
in 2PC, i.e. for read-only transaction (i.e. tr->wtime == 0), don't go further 
to sql_trans_persistcommit, since there is nothing to persist.


diffs (20 lines):

diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -446,6 +446,16 @@ mvc_persistcommit(mvc *m, int chain, con
                (void)sql_error(m, 010, "40000!PERSISTCOMMIT: transaction is 
aborted because pre-commit transaction id missmatch. Transaction was either not 
pre-commited or aborted.");
                return -1;
        }
+       
+    if (tr->wtime == 0) {
+        if (!chain)
+            sql_trans_end(m->session);
+        m->type = Q_TRANS;
+        if (mvc_debug)
+            fprintf(stderr, "#mvc_persistcommit %s done\n", (name) ? name : 
"");
+        store_unlock();
+        return 0;
+    }
 
        store_lock();
        if ((result = sql_trans_persistcommit(tr)) != SQL_OK) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to