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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list