[rygel] core: port database upgrade to new api



commit f27782836a593fe4d02988a9a65aa3b9aeea5cb3
Author: Jens Georg <mail jensge org>
Date:   Wed Sep 30 13:23:10 2009 +0200

    core: port database upgrade to new api

 src/rygel/rygel-media-db.vala |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)
---
diff --git a/src/rygel/rygel-media-db.vala b/src/rygel/rygel-media-db.vala
index b71295a..5f4e431 100644
--- a/src/rygel/rygel-media-db.vala
+++ b/src/rygel/rygel-media-db.vala
@@ -206,18 +206,19 @@ public class Rygel.MediaDB : Object {
     "UPDATE Object SET timestamp = 0";
 
     private void update_v3_v4 () {
-        if (db.exec ("BEGIN") == Sqlite.OK &&
-            db.exec (UPDATE_V3_V4_STRING_1) == Sqlite.OK &&
-            db.exec (UPDATE_V3_V4_STRING_2) == Sqlite.OK &&
-            db.exec (UPDATE_V3_V4_STRING_3) == Sqlite.OK &&
-            db.exec (UPDATE_V3_V4_STRING_4) == Sqlite.OK &&
-            db.exec (CREATE_TRIGGER_STRING) == Sqlite.OK &&
-            db.exec ("UPDATE Schema_Info SET version = " +
-                     schema_version) == Sqlite.OK) {
-            db.exec ("COMMIT");
-        } else {
-            db.exec ("ROLLBACK");
-            warning ("Database upgrade failed: %s", db.errmsg());
+        try {
+            GLib.Value[] values = { schema_version };
+            db.begin ();
+            db.exec (UPDATE_V3_V4_STRING_1);
+            db.exec (UPDATE_V3_V4_STRING_2);
+            db.exec (UPDATE_V3_V4_STRING_3);
+            db.exec (UPDATE_V3_V4_STRING_4);
+            db.exec (CREATE_TRIGGER_STRING);
+            db.exec ("UPDATE Schema_Info SET version = ?", values);
+            db.commit ();
+        } catch (DatabaseError err) {
+            db.rollback ();
+            warning ("Database upgrade failed: %s", err.message);
             db = null;
         }
     }



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