f-spot r4482 - in trunk: . src



Author: sdelcroix
Date: Sat Oct 11 13:58:06 2008
New Revision: 4482
URL: http://svn.gnome.org/viewvc/f-spot?rev=4482&view=rev

Log:
2008-10-11  Stephane Delcroix  <sdelcroix novell com>

	* src/*Store.cs:
	* src/Updater.cs: fix the tables schema so it's readable again in sqlite

Modified:
   trunk/ChangeLog
   trunk/src/ExportStore.cs
   trunk/src/JobStore.cs
   trunk/src/MetaStore.cs
   trunk/src/PhotoStore.cs
   trunk/src/RollStore.cs
   trunk/src/TagStore.cs
   trunk/src/Updater.cs

Modified: trunk/src/ExportStore.cs
==============================================================================
--- trunk/src/ExportStore.cs	(original)
+++ trunk/src/ExportStore.cs	Sat Oct 11 13:58:06 2008
@@ -55,12 +55,13 @@
 	private void CreateTable ()
 	{
  		Database.ExecuteNonQuery (
-			"CREATE TABLE exports ("					+
-				"id		 INTEGER PRIMARY KEY NOT NULL, "	+
-                                "image_id         INTEGER NOT NULL, "			+
-                                "image_version_id INTEGER NOT NULL, "			+
-                                "export_type      TEXT NOT NULL, "			+
-                                "export_token     TEXT NOT NULL)");
+			"CREATE TABLE exports (\n" +
+			"	id			INTEGER PRIMARY KEY NOT NULL, \n" +
+			"	image_id		INTEGER NOT NULL, \n" +
+			"	image_version_id	INTEGER NOT NULL, \n" +
+			"	export_type		TEXT NOT NULL, \n" +
+			"	export_token		TEXT NOT NULL\n" +
+			")");
 	}
 
 	private ExportItem LoadItem (SqliteDataReader reader)

Modified: trunk/src/JobStore.cs
==============================================================================
--- trunk/src/JobStore.cs	(original)
+++ trunk/src/JobStore.cs	Sat Oct 11 13:58:06 2008
@@ -89,13 +89,13 @@
 	private void CreateTable ()
 	{
 		Database.ExecuteNonQuery (
-			@"CREATE TABLE jobs (
-				id		 INTEGER PRIMARY KEY NOT NULL,
-				job_type         TEXT NOT NULL,
-                                job_options      TEXT NOT NULL,
-                                run_at           INTEGER,
-				job_priority     INTEGER NOT NULL
-			)");
+			"CREATE TABLE jobs (\n" +
+			"	id		INTEGER PRIMARY KEY NOT NULL, \n" +
+			"	job_type	TEXT NOT NULL, \n" +
+			"	job_options	TEXT NOT NULL, \n" +
+			"	run_at		INTEGER, \n" +
+			"	job_priority	INTEGER NOT NULL\n" +
+			")");
 	}
 
 	private Job LoadItem (SqliteDataReader reader)

Modified: trunk/src/MetaStore.cs
==============================================================================
--- trunk/src/MetaStore.cs	(original)
+++ trunk/src/MetaStore.cs	Sat Oct 11 13:58:06 2008
@@ -62,13 +62,12 @@
 
 	private void CreateTable ()
 	{
-		Database.ExecuteNonQuery(     
-			"CREATE TABLE meta (					" +
-			"	id		INTEGER PRIMARY KEY NOT NULL,	" +
-			"	name		TEXT UNIQUE NOT NULL,		" +
-			"	data		TEXT				" +
+		Database.ExecuteNonQuery ( 
+			"CREATE TABLE meta (\n" +
+			"	id	INTEGER PRIMARY KEY NOT NULL, \n" +
+			"	name	TEXT UNIQUE NOT NULL, \n" +
+			"	data	TEXT\n" +
 			")");
-
 	}
 
 	private void CreateDefaultItems (bool is_new)

Modified: trunk/src/PhotoStore.cs
==============================================================================
--- trunk/src/PhotoStore.cs	(original)
+++ trunk/src/PhotoStore.cs	Sat Oct 11 13:58:06 2008
@@ -114,37 +114,33 @@
 			return;
 		
 		Database.ExecuteNonQuery ( 
-			//WARNING: if you change this schema, reflect your changes 
-			//to Updater.cs, at revision 7.0
-			"CREATE TABLE photos (                                     " +
-			"	id                 INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,   " +
-			"	time               INTEGER NOT NULL,	   	   " +
-			"	uri		   STRING NOT NULL,		   " +
-			"	description        TEXT NOT NULL,	           " +
-			"	roll_id            INTEGER NOT NULL,		   " +
-			"	default_version_id INTEGER NOT NULL,		   " +
-			"	rating		   INTEGER NULL,		   " +
-			"	md5_sum		   TEXT NULL  			   " +
+			"CREATE TABLE photos (\n" +
+			"	id			INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \n" +
+			"	time			INTEGER NOT NULL, \n" +
+			"	uri			STRING NOT NULL, \n" +
+			"	description		TEXT NOT NULL, \n" +
+			"	roll_id			INTEGER NOT NULL, \n" +
+			"	default_version_id	INTEGER NOT NULL, \n" +
+			"	rating			INTEGER NULL, \n" +
+			"	md5_sum			TEXT NULL\n" +
 			")");
 
-
 		Database.ExecuteNonQuery (
-			"CREATE TABLE photo_tags (        " +
-			"	photo_id      INTEGER,    " +
-			"       tag_id        INTEGER,    " +
-			"       UNIQUE (photo_id, tag_id) " +
+			"CREATE TABLE photo_tags (\n" +
+			"	photo_id	INTEGER, \n" +
+			"       tag_id		INTEGER, \n" +
+			"       UNIQUE (photo_id, tag_id)\n" +
 			")");
 
-
 		Database.ExecuteNonQuery (
-			"CREATE TABLE photo_versions (		"+
-			"	photo_id	INTEGER,	" +
-			"	version_id	INTEGER,	" +
-			"	name		STRING,		" +
-			"	uri		STRING NOT NULL," +
-			"	md5_sum		STRING NOT NULL," +
-			"	protected	BOOLEAN,	" +
-			"	UNIQUE (photo_id, version_id)	" +
+			"CREATE TABLE photo_versions (\n"+
+			"	photo_id	INTEGER, \n" +
+			"	version_id	INTEGER, \n" +
+			"	name		STRING, \n" +
+			"	uri		STRING NOT NULL, \n" +
+			"	md5_sum		STRING NOT NULL, \n" +
+			"	protected	BOOLEAN, \n" +
+			"	UNIQUE (photo_id, version_id)\n" +
 			")");
 
 		Database.ExecuteNonQuery ("CREATE INDEX idx_photo_versions_id ON photo_versions(photo_id)");

Modified: trunk/src/RollStore.cs
==============================================================================
--- trunk/src/RollStore.cs	(original)
+++ trunk/src/RollStore.cs	Sat Oct 11 13:58:06 2008
@@ -25,9 +25,9 @@
 			return;
 
 		Database.ExecuteNonQuery (
-			"CREATE TABLE rolls (                            " +
-			"	id          INTEGER PRIMARY KEY NOT NULL,  " +
-			"       time        INTEGER NOT NULL		   " +
+			"CREATE TABLE rolls (\n" +
+			"	id	INTEGER PRIMARY KEY NOT NULL, \n" +
+			"       time	INTEGER NOT NULL\n" +
 			")");
 	}
 

Modified: trunk/src/TagStore.cs
==============================================================================
--- trunk/src/TagStore.cs	(original)
+++ trunk/src/TagStore.cs	Sat Oct 11 13:58:06 2008
@@ -184,19 +184,17 @@
 
 	private void CreateTable ()
 	{
-
-		Database.ExecuteNonQuery ("CREATE TABLE tags (                            " +
-				   "	id            INTEGER PRIMARY KEY NOT NULL," +
-				   "       name          TEXT UNIQUE,                 " +
-				   "       category_id   INTEGER,			   " +
-				   "       is_category   BOOLEAN,			   " +
-				   "       sort_priority INTEGER,			   " +
-				   "       icon          TEXT			   " +
-				   ")");
-
+		Database.ExecuteNonQuery (
+			"CREATE TABLE tags (\n" +
+			"	id		INTEGER PRIMARY KEY NOT NULL, \n" +
+			"	name		TEXT UNIQUE, \n" +
+			"	category_id	INTEGER, \n" +
+			"	is_category	BOOLEAN, \n" +
+			"	sort_priority	INTEGER, \n" +
+			"	icon		TEXT\n" +
+			")");
 	}
 
-
 	private void CreateDefaultTags ()
 	{
 		Category favorites_category = CreateCategory (RootCategory, Catalog.GetString ("Favorites"));

Modified: trunk/src/Updater.cs
==============================================================================
--- trunk/src/Updater.cs	(original)
+++ trunk/src/Updater.cs	Sat Oct 11 13:58:06 2008
@@ -347,9 +347,125 @@
 				Execute (String.Format ("DELETE FROM jobs WHERE job_type = '{0}'", typeof(Jobs.CalculateHashJob).ToString ()));
 			}, false);
 
+			// Update to version 16.4
+			AddUpdate (new Version (16,4), delegate () { //fix the tables schema EOL
+				string temp_table = MoveTableToTemp ("exports");
+			 	Execute (
+					"CREATE TABLE exports (\n" +
+					"	id			INTEGER PRIMARY KEY NOT NULL, \n" +
+					"	image_id		INTEGER NOT NULL, \n" +
+					"	image_version_id	INTEGER NOT NULL, \n" +
+					"	export_type		TEXT NOT NULL, \n" +
+					"	export_token		TEXT NOT NULL\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO exports (id, image_id, image_version_id, export_type, export_token) " + 
+					"SELECT id, image_id, image_version_id, export_type, export_token " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("jobs");
+				Execute (
+					"CREATE TABLE jobs (\n" +
+					"	id		INTEGER PRIMARY KEY NOT NULL, \n" +
+					"	job_type	TEXT NOT NULL, \n" +
+					"	job_options	TEXT NOT NULL, \n" +
+					"	run_at		INTEGER, \n" +
+					"	job_priority	INTEGER NOT NULL\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO jobs (id, job_type, job_options, run_at, job_priority) " +
+					"SELECT id, job_type, job_options, run_at, job_priority " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("meta");
+				Execute (
+					"CREATE TABLE meta (\n" +
+					"	id	INTEGER PRIMARY KEY NOT NULL, \n" +
+					"	name	TEXT UNIQUE NOT NULL, \n" +
+					"	data	TEXT\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO meta (id, name, data) " +
+					"SELECT id, name, data " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("photos");
+				Execute ( 
+					"CREATE TABLE photos (\n" +
+					"	id			INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \n" +
+					"	time			INTEGER NOT NULL, \n" +
+					"	uri			STRING NOT NULL, \n" +
+					"	description		TEXT NOT NULL, \n" +
+					"	roll_id			INTEGER NOT NULL, \n" +
+					"	default_version_id	INTEGER NOT NULL, \n" +
+					"	rating			INTEGER NULL, \n" +
+					"	md5_sum			TEXT NULL\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO photos (id, time, uri, description, roll_id, default_version_id, rating, md5_sum) " +
+					"SELECT id, time, uri, description, roll_id, default_version_id, rating, md5_sum " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("photo_tags");
+				Execute(
+					"CREATE TABLE photo_tags (\n" +
+					"	photo_id	INTEGER, \n" +
+					"       tag_id		INTEGER, \n" +
+					"       UNIQUE (photo_id, tag_id)\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO photo_tags (photo_id, tag_id) " +
+					"SELECT photo_id, tag_id " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("photo_versions");
+				Execute (
+					"CREATE TABLE photo_versions (\n"+
+					"	photo_id	INTEGER, \n" +
+					"	version_id	INTEGER, \n" +
+					"	name		STRING, \n" +
+					"	uri		STRING NOT NULL, \n" +
+					"	md5_sum		STRING NOT NULL, \n" +
+					"	protected	BOOLEAN, \n" +
+					"	UNIQUE (photo_id, version_id)\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO photo_versions (photo_id, version_id, name, uri, md5_sum, protected) " +
+					"SELECT photo_id, version_id, name, uri, md5_sum, protected " +
+					"FROM {0}", temp_table));
+
+				Execute ("CREATE INDEX idx_photo_versions_id ON photo_versions(photo_id)");
+				Execute ("CREATE INDEX idx_photos_roll_id ON photos(roll_id)");
+
+				temp_table = MoveTableToTemp ("rolls");
+				Execute (
+					"CREATE TABLE rolls (\n" +
+					"	id	INTEGER PRIMARY KEY NOT NULL, \n" +
+					"       time	INTEGER NOT NULL\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO rolls (id, time) " +
+					"SELECT id, time " +
+					"FROM {0}", temp_table));
+
+				temp_table = MoveTableToTemp ("tags");
+				Execute (
+					"CREATE TABLE tags (\n" +
+					"	id		INTEGER PRIMARY KEY NOT NULL, \n" +
+					"	name		TEXT UNIQUE, \n" +
+					"	category_id	INTEGER, \n" +
+					"	is_category	BOOLEAN, \n" +
+					"	sort_priority	INTEGER, \n" +
+					"	icon		TEXT\n" +
+					")");
+				Execute (String.Format (
+					"INSERT INTO tags (id, name, category_id, is_category, sort_priority, icon) " +
+					"SELECT id, name, category_id, is_category, sort_priority, icon " +
+					"FROM {0}", temp_table));
+			});
 
-			 // Update to version 17.0
-			//AddUpdate (new Version (14,0),delegate () {
+			// Update to version 17.0
+			//AddUpdate (new Version (14,0), delegate () {
 			//	do update here
 			//});
 		}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]