Changeset: 5e6dc65965d2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5e6dc65965d2
Modified Files:
sql/backends/monet5/sql.mx
Branch: default
Log Message:
Introduce the explicit sql.commit operation
diffs (46 lines):
diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -50,6 +50,10 @@
address SQLtransaction
comment "a transaction statement (type can be commit,release,rollback or
start)";
+pattern commit()
+address SQLcommit
+comment "Trigger the commit operation for a MAL block";
+
pattern catalog(type:int,sname:str,name:str,action:int):void
address SQLcatalog
comment "a catalog statement";
@@ -1168,6 +1172,7 @@
sql5_export str SQLmvc(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
sql5_export str SQLtransaction(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+sql5_export str SQLcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
sql5_export str SQLcatalog(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
sql5_export str mvc_append_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
@@ -1725,6 +1730,23 @@
return MAL_SUCCEED;
}
+str
+SQLcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+ int ret;
+ mvc *sql = NULL;
+ str msg = getContext(cntxt, mb, &sql, NULL);
+
+ (void) stk;
+ (void) pci;
+ if (sql->session->auto_commit != 1)
+ throw(SQL,"sql.trans", "COMMIT: not allowed in auto commit
mode");
+ ret = mvc_commit(sql, 0, 0);
+ if (ret < 0 )
+ throw(SQL, "sql.trans", "COMMIT: failed");
+ return msg;
+}
+
static str
create_table_or_view( mvc *sql, char *sname, sql_table *t, int temp)
{
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list