r19920 - gnucash/trunk/src - Add Gnucash svn version to sql versions table.

John Ralls jralls at code.gnucash.org
Thu Dec 9 19:05:30 EST 2010


Author: jralls
Date: 2010-12-09 19:05:30 -0500 (Thu, 09 Dec 2010)
New Revision: 19920
Trac: http://svn.gnucash.org/trac/changeset/19920

Modified:
   gnucash/trunk/src/backend/sql/gnc-backend-sql.c
   gnucash/trunk/src/core-utils/gnc-main.c
   gnucash/trunk/src/core-utils/gnc-main.h
Log:
Add Gnucash svn version to sql versions table.

Modified: gnucash/trunk/src/backend/sql/gnc-backend-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/gnc-backend-sql.c	2010-12-09 10:16:02 UTC (rev 19919)
+++ gnucash/trunk/src/backend/sql/gnc-backend-sql.c	2010-12-10 00:05:30 UTC (rev 19920)
@@ -73,6 +73,8 @@
 #include "gnc-tax-table-sql.h"
 #include "gnc-vendor-sql.h"
 
+#include "gnc-main.h"
+
 #if defined( S_SPLINT_S )
 #include "splint-defs.h"
 #endif
@@ -482,6 +484,7 @@
     ENTER( "book=%p, primary=%p", book, be->primary_book );
 
     (void)reset_version_info( be );
+    gnc_sql_set_table_version( be, "Gnucash", gnc_get_svn_version() );
 
     /* Create new tables */
     be->is_pristine_db = TRUE;
@@ -593,6 +596,7 @@
     gboolean is_dirty;
     gboolean is_destroying;
     gboolean is_infant;
+    const gint gnc_version = gnc_get_svn_version();
 
     g_return_if_fail( be != NULL );
     g_return_if_fail( inst != NULL );
@@ -640,6 +644,10 @@
     be_data.be = be;
     be_data.inst = inst;
     be_data.is_ok = TRUE;
+    /* Set/update the application version in the database */
+    if (gnc_sql_get_table_version( be, "Gnucash") != gnc_version )
+	gnc_sql_set_table_version( be, "Gnucash", gnc_version );
+
     qof_object_foreach_backend( GNC_SQL_BACKEND, commit_cb, &be_data );
 
     if ( !be_data.is_known )

Modified: gnucash/trunk/src/core-utils/gnc-main.c
===================================================================
--- gnucash/trunk/src/core-utils/gnc-main.c	2010-12-09 10:16:02 UTC (rev 19919)
+++ gnucash/trunk/src/core-utils/gnc-main.c	2010-12-10 00:05:30 UTC (rev 19920)
@@ -21,8 +21,10 @@
  * Boston, MA  02110-1301,  USA       gnu at gnu.org
  */
 
+#include <stdlib.h>
 #include "config.h"
 #include "gnc-main.h"
+#include "gnome-utils/gnc-version.h"
 
 static gchar *namespace_regexp = NULL;
 static gboolean is_debugging = 0;
@@ -80,3 +82,9 @@
 {
     return gconf_path;
 }
+
+gint
+gnc_get_svn_version (void)
+{
+    return strtol(GNUCASH_SVN_REV, NULL, 10);
+}

Modified: gnucash/trunk/src/core-utils/gnc-main.h
===================================================================
--- gnucash/trunk/src/core-utils/gnc-main.h	2010-12-09 10:16:02 UTC (rev 19919)
+++ gnucash/trunk/src/core-utils/gnc-main.h	2010-12-10 00:05:30 UTC (rev 19920)
@@ -40,4 +40,6 @@
 void gnc_set_gconf_path(const gchar *prefix);
 const gchar *gnc_get_gconf_path(void);
 
+gint gnc_get_svn_version(void);
+
 #endif /* GNC_MAIN_H */



More information about the gnucash-changes mailing list