Changeset: 26bb2f9f2fda for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=26bb2f9f2fda
Modified Files:
sql/backends/monet5/sql.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
Branch: HTM
Log Message:
Use the transaction in the current MVC context when persisting a commit
diffs (55 lines):
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -382,10 +382,24 @@ SQLprecommit(Client cntxt, MalBlkPtr mb,
str
SQLpersistcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
- (void) cntxt;
- (void) mb;
+ mvc *sql = NULL;
+ str msg;
+ sql_trans *tr = NULL;
(void) stk;
(void) pci;
+
+ if ((msg = getSQLContext(cntxt, mb, &sql, NULL)) != NULL)
+ return msg;
+ if ((msg = checkSQLContext(cntxt)) != NULL)
+ return msg;
+
+ if (sql->session->auto_commit != 0)
+ throw(SQL, "sql.trans", "2DM30!COMMIT: not allowed in auto
commit mode");
+ tr = mvc_persistcommit(sql, 0, 0);
+
+ if (tr == NULL) {
+ throw(SQL, "sql.trans", "2D000!COMMIT: failed");
+ }
return MAL_SUCCEED;
}
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
@@ -338,7 +338,8 @@ mvc_precommit(mvc *m, int chain, char *n
}
int
-mvc_persistcommit(mvc *m, int chain, char *name, sql_trans *tr) {
+mvc_persistcommit(mvc *m, int chain, char *name) {
+ sql_trans *tr = m->session->tr;
int ok = SQL_OK;//, wait = 0;
store_lock();
diff --git a/sql/server/sql_mvc.h b/sql/server/sql_mvc.h
--- a/sql/server/sql_mvc.h
+++ b/sql/server/sql_mvc.h
@@ -156,7 +156,7 @@ extern int mvc_commit_prepare(mvc *m, in
extern void mvc_commit_finish(mvc *m, int chain, char *name);
extern int mvc_commit(mvc *c, int chain, char *name);
extern sql_trans *mvc_precommit(mvc *m, int chain, char *name);
-extern int mvc_persistcommit(mvc *m, int chain, char *name, sql_trans *tr);
+extern int mvc_persistcommit(mvc *m, int chain, char *name);
extern int mvc_rollback(mvc *c, int chain, char *name);
extern int mvc_release(mvc *c, char *name);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list