Package: libnss-db / 2.2.3pre1-6

010-db2_upgrade_code.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Make sure we upgrade, in case this is an older database; and handle the 
DB4.3 API change for DB->open().

Index: b/src/db-compat.c
===================================================================
--- a/src/db-compat.c
+++ b/src/db-compat.c
@@ -39,7 +39,15 @@
   if (err)
     return err;
 
-  err = db->open (db, file, NULL, type, flags, mode);
+  err = db->open (db, NULL, file, NULL, type, flags, mode);
+  /* Make sure we upgrade, in case this is an older database */
+  if (err == DB_OLD_VERSION) {
+    db->close (db, 0);
+    err = db->upgrade(db, file, 0);
+    if (err)
+      return err;
+    err = db->open (db, NULL, file, NULL, type, flags, mode);
+  }
   if (err)
     {
       db->close (db, 0);