Changeset: cba537e56f14 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cba537e56f14
Modified Files:
        sql/server/sql_mvc.c
Branch: Dec2011
Log Message:

mvc_commit: send SQLSTATE 40000 for transaction aborts

Because I don't know any specifics, send generic "transaction rollback"
SQLSTATE on commit failures for bug #3052.


diffs (37 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
@@ -206,7 +206,7 @@ mvc_commit(mvc *m, int chain, char *name
                fprintf(stderr, "#mvc_commit %s\n", (name) ? name : "");
 
        if (m->session->status < 0) {
-               (void)sql_error(m, 010, "COMMIT: transaction is aborted, will 
ROLLBACK instead");
+               (void)sql_error(m, 010, "40000!COMMIT: transaction is aborted, 
will ROLLBACK instead");
                mvc_rollback(m, chain, name);
                return -1;
        }
@@ -240,7 +240,7 @@ mvc_commit(mvc *m, int chain, char *name
        cur -> parent = tr;
        tr = cur;
        if (ok != SQL_OK) {
-               (void)sql_error(m, 010, "COMMIT: transaction is aborted, will 
ROLLBACK instead");
+               (void)sql_error(m, 010, "40000!COMMIT: transaction is aborted, 
will ROLLBACK instead");
                mvc_rollback(m, chain, name);
                return -1;
        }
@@ -261,13 +261,13 @@ mvc_commit(mvc *m, int chain, char *name
        /* validation phase */
        if (sql_trans_validate(tr)) {
                if ((ok = sql_trans_commit(tr)) != SQL_OK) {
-                       char *msg = sql_message("COMMIT: transation commit 
failed (perhaps your disk is full?) exiting (kernel error: %s)", GDKerrbuf);
+                       char *msg = sql_message("40000!COMMIT: transation 
commit failed (perhaps your disk is full?) exiting (kernel error: %s)", 
GDKerrbuf);
                        GDKfatal("%s", msg);
                        _DELETE(msg);
                }
        } else {
                store_unlock();
-               (void)sql_error(m, 010, "COMMIT: transaction is aborted because 
of concurency conflicts, will ROLLBACK instead");
+               (void)sql_error(m, 010, "40000!COMMIT: transaction is aborted 
because of concurency conflicts, will ROLLBACK instead");
                mvc_rollback(m, chain, name);
                return -1;
        }
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to