r17993 - gnucash/trunk/src/backend/dbi - Implement BEGIN/COMMIT/ROLLBACK for transaction support. Provides a *huge*
Phil Longstaff
plongstaff at cvs.gnucash.org
Fri Mar 13 12:33:19 EDT 2009
Author: plongstaff
Date: 2009-03-13 12:33:19 -0400 (Fri, 13 Mar 2009)
New Revision: 17993
Trac: http://svn.gnucash.org/trac/changeset/17993
Modified:
gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c
Log:
Implement BEGIN/COMMIT/ROLLBACK for transaction support. Provides a *huge*
performance improvement when saving to an sqlite3 file.
Modified: gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c
===================================================================
--- gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c 2009-03-13 15:31:35 UTC (rev 17992)
+++ gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c 2009-03-13 16:33:19 UTC (rev 17993)
@@ -1071,24 +1071,36 @@
static gboolean
conn_begin_transaction( /*@ unused @*/ GncSqlConnection* conn )
{
- //GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ dbi_result result;
+ result = dbi_conn_queryf( dbi_conn->conn, "BEGIN" );
+ (void)dbi_result_free( result );
+
return TRUE;
}
static gboolean
conn_rollback_transaction( /*@ unused @*/ GncSqlConnection* conn )
{
- //GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ dbi_result result;
+ result = dbi_conn_queryf( dbi_conn->conn, "ROLLBACK" );
+ (void)dbi_result_free( result );
+
return TRUE;
}
static gboolean
conn_commit_transaction( /*@ unused @*/ GncSqlConnection* conn )
{
- //GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
+ dbi_result result;
+ result = dbi_conn_queryf( dbi_conn->conn, "COMMIT" );
+ (void)dbi_result_free( result );
+
return TRUE;
}
More information about the gnucash-changes
mailing list