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