[Midnightbsd-cvs] src [7647] stable/0.8/lib/libmport: set database version on creation

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jul 30 10:15:25 EDT 2016


Revision: 7647
          http://svnweb.midnightbsd.org/src/?rev=7647
Author:   laffer1
Date:     2016-07-30 10:15:24 -0400 (Sat, 30 Jul 2016)
Log Message:
-----------
set database version on creation

Modified Paths:
--------------
    stable/0.8/lib/libmport/bundle_read.c
    stable/0.8/lib/libmport/db.c
    stable/0.8/lib/libmport/instance.c

Modified: stable/0.8/lib/libmport/bundle_read.c
===================================================================
--- stable/0.8/lib/libmport/bundle_read.c	2016-07-29 02:53:50 UTC (rev 7646)
+++ stable/0.8/lib/libmport/bundle_read.c	2016-07-30 14:15:24 UTC (rev 7647)
@@ -52,12 +52,15 @@
  */
 int mport_bundle_read_init(mportBundleRead *bundle, const char *filename)
 {
-  if ((bundle->filename = strdup(filename)) == NULL) 
-    RETURN_ERROR(MPORT_ERR_FATAL, "Couldn't dup filename");
+  if (filename == NULL)
+    RETURN_ERROR(MPORT_ERR_FATAL, "Filename is null");
+
+  if ((bundle->filename = strdup(filename)) == NULL)  {
+    RETURN_ERROR(MPORT_ERR_FATAL, "Couldn't dup filename"); 
+  }
     
   if ((bundle->archive = archive_read_new()) == NULL)
-    RETURN_ERROR(MPORT_ERR_FATAL, "Couldn't dup filename");
-    
+    RETURN_ERROR(MPORT_ERR_FATAL, "Couldn't initialize archive read");
   
   if (archive_read_support_format_tar(bundle->archive) != ARCHIVE_OK)
     RETURN_ERROR(MPORT_ERR_FATAL, archive_error_string(bundle->archive));

Modified: stable/0.8/lib/libmport/db.c
===================================================================
--- stable/0.8/lib/libmport/db.c	2016-07-29 02:53:50 UTC (rev 7646)
+++ stable/0.8/lib/libmport/db.c	2016-07-30 14:15:24 UTC (rev 7647)
@@ -287,5 +287,7 @@
 	RUN_SQL(db, "CREATE TABLE IF NOT EXISTS settings (name text NOT NULL, val text NOT NULL)");
 	RUN_SQL(db, "CREATE INDEX IF NOT EXISTS settings_name ON settings (name)");
 
+	mport_set_database_version(db);
+
 	return (MPORT_OK);
 }

Modified: stable/0.8/lib/libmport/instance.c
===================================================================
--- stable/0.8/lib/libmport/instance.c	2016-07-29 02:53:50 UTC (rev 7646)
+++ stable/0.8/lib/libmport/instance.c	2016-07-30 14:15:24 UTC (rev 7647)
@@ -100,13 +100,15 @@
         mport->progress_free_cb = &mport_default_progress_free_cb;
         mport->confirm_cb = &mport_default_confirm_cb;
 
-        mport_upgrade_master_schema(mport->db, mport_get_database_version(mport->db));
+	int db_version = mport_get_database_version(mport->db);
+	fprintf(stderr, "db version is %d", db_version);
+	if (db_version < 1) {
+		/* new, create tables */
+		mport_generate_master_schema(mport->db);
+		db_version = mport_get_database_version(mport->db);
+	}
 
-	if (MPORT_MASTER_VERSION == mport_get_database_version(mport->db))
-		return (MPORT_OK);
-
-	/* create tables */
-	return mport_generate_master_schema(mport->db);
+	return mport_upgrade_master_schema(mport->db, db_version);
 }
 
 /**



More information about the Midnightbsd-cvs mailing list