[Midnightbsd-cvs] src [7626] trunk/lib/libmport: fix upgrades so that we do not continuously try to recreate tables during mport operations.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue May 31 18:44:27 EDT 2016


Revision: 7626
          http://svnweb.midnightbsd.org/src/?rev=7626
Author:   laffer1
Date:     2016-05-31 18:44:27 -0400 (Tue, 31 May 2016)
Log Message:
-----------
fix upgrades so that we do not continuously try to recreate tables during mport operations. This fixes some errors as well as speeds up some operations

Modified Paths:
--------------
    trunk/lib/libmport/db.c
    trunk/lib/libmport/instance.c

Modified: trunk/lib/libmport/db.c
===================================================================
--- trunk/lib/libmport/db.c	2016-05-31 22:41:58 UTC (rev 7625)
+++ trunk/lib/libmport/db.c	2016-05-31 22:44:27 UTC (rev 7626)
@@ -192,6 +192,8 @@
 int
 mport_upgrade_master_schema(sqlite3 *db, int databaseVersion) 
 {
+	if (databaseVersion == MPORT_MASTER_VERSION)
+		return MPORT_OK;
 
 	switch (databaseVersion) {
 		case 0:
@@ -198,12 +200,18 @@
 		case 1:
 			mport_upgrade_master_schema_0to2(db);
 			mport_upgrade_master_schema_2to3(db);
+			mport_upgrade_master_schema_4to6(db);
+			mport_set_database_version(db);
+			break;
 		case 2:
 			mport_upgrade_master_schema_2to3(db);
 		case 3:
 			mport_upgrade_master_schema_3to4(db);
+			mport_upgrade_master_schema_4to6(db);
+			mport_set_database_version(db);
 			break;
 		case 4:
+			/* falls through */
 		case 5:
 			mport_upgrade_master_schema_4to6(db);
 			mport_set_database_version(db);

Modified: trunk/lib/libmport/instance.c
===================================================================
--- trunk/lib/libmport/instance.c	2016-05-31 22:41:58 UTC (rev 7625)
+++ trunk/lib/libmport/instance.c	2016-05-31 22:44:27 UTC (rev 7626)
@@ -102,8 +102,11 @@
 
         mport_upgrade_master_schema(mport->db, mport_get_database_version(mport->db));
 
-    /* create tables */
-    return mport_generate_master_schema(mport->db);
+	if (MPORT_MASTER_VERSION == mport_get_database_version(mport->db))
+		return (MPORT_OK);
+
+	/* create tables */
+	return mport_generate_master_schema(mport->db);
 }
 
 /**



More information about the Midnightbsd-cvs mailing list