Changeset: 6c6f79a09cec for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c6f79a09cec
Modified Files:
sql/server/sql_mvc.c
Branch: 2PC
Log Message:
cleaner hack
diffs (34 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
@@ -439,26 +439,18 @@ mvc_precommit(mvc *m, int chain, const c
}
int
-mvc_persistcommit(mvc *m, int chain, const char *name, lng id) {
+mvc_persistcommit(mvc *m, int chain, const char *name, lng id)
+{
int result = SQL_OK;//, wait = 0;
sql_trans *tr = m->session->tr;
+
if (tr->precommit_id != id) {
(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) {
+ if (tr->wtime != 0 && (result = sql_trans_persistcommit(tr)) != SQL_OK)
{
char *msg = sql_message("40000!PERSISTCOMMIT: transaction
commit failed (perhaps your disk is full?) exiting (kernel error: %s)",
GDKerrbuf);
GDKfatal("%s", msg);
_DELETE(msg);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list