r18454 - gnucash/trunk/src/backend/sql - Recreate index after updating table

Phil Longstaff plongstaff at code.gnucash.org
Mon Nov 30 18:21:50 EST 2009


Author: plongstaff
Date: 2009-11-30 18:21:50 -0500 (Mon, 30 Nov 2009)
New Revision: 18454
Trac: http://svn.gnucash.org/trac/changeset/18454

Modified:
   gnucash/trunk/src/backend/sql/gnc-slots-sql.c
   gnucash/trunk/src/backend/sql/gnc-transaction-sql.c
Log:
Recreate index after updating table


Modified: gnucash/trunk/src/backend/sql/gnc-slots-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/gnc-slots-sql.c	2009-11-30 13:44:35 UTC (rev 18453)
+++ gnucash/trunk/src/backend/sql/gnc-slots-sql.c	2009-11-30 23:21:50 UTC (rev 18454)
@@ -636,13 +636,12 @@
 create_slots_tables( GncSqlBackend* be )
 {
 	gint version;
+	gboolean ok;
 
 	g_return_if_fail( be != NULL );
 
 	version = gnc_sql_get_table_version( be, TABLE_NAME );
 	if( version == 0 ) {
-		gboolean ok;
-
     	(void)gnc_sql_create_table( be, TABLE_NAME, TABLE_VERSION, col_table );
 
 		ok = gnc_sql_create_index( be, "slots_guid_index", TABLE_NAME, obj_guid_col_table );
@@ -652,6 +651,10 @@
 	} else if( version == 1 ) {
 		/* Upgrade 64-bit int values to proper definition */
 		gnc_sql_upgrade_table( be, TABLE_NAME, col_table );
+		ok = gnc_sql_create_index( be, "slots_guid_index", TABLE_NAME, obj_guid_col_table );
+		if( !ok ) {
+			PERR( "Unable to create index\n" );
+		}
 		(void)gnc_sql_set_table_version( be, TABLE_NAME, TABLE_VERSION );
 	}
 }

Modified: gnucash/trunk/src/backend/sql/gnc-transaction-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/gnc-transaction-sql.c	2009-11-30 13:44:35 UTC (rev 18453)
+++ gnucash/trunk/src/backend/sql/gnc-transaction-sql.c	2009-11-30 23:21:50 UTC (rev 18454)
@@ -490,25 +490,13 @@
 	    }
     } else if( version < SPLIT_TABLE_VERSION ) {
 
-		/* Perform the various upgrades based on the current version number */
-	    switch( version ) {
-		case 1:
-		    /* Upgrade 64 bit int handling */
-		    gnc_sql_upgrade_table( be, SPLIT_TABLE, split_col_table );
-
-			/* fallthrough */
-
-		case 2:
-			ok = gnc_sql_create_index( be, "splits_tx_guid_index", SPLIT_TABLE, guid_col_table );
-			if( !ok ) {
-				PERR( "Unable to create index\n" );
-			}
-
-			/* fallthrough */
-
-		case 3:
-		    /* Split reconcile_date can be NULL */
-		    gnc_sql_upgrade_table( be, SPLIT_TABLE, split_col_table );
+		/* Upgrade:
+		   1->2: 64 bit int handling
+		   3->4: Split reconcile date can be NULL */
+		gnc_sql_upgrade_table( be, SPLIT_TABLE, split_col_table );
+		ok = gnc_sql_create_index( be, "splits_tx_guid_index", SPLIT_TABLE, guid_col_table );
+		if( !ok ) {
+			PERR( "Unable to create index\n" );
 		}
 		(void)gnc_sql_set_table_version( be, SPLIT_TABLE, SPLIT_TABLE_VERSION );
     }



More information about the gnucash-changes mailing list