Browse Source

[324] fixed typo in the new schema definition, and make sure set minor version.

JINMEI Tatuya 13 years ago
parent
commit
3104e910b9
1 changed files with 8 additions and 6 deletions
  1. 8 6
      src/lib/python/isc/datasrc/sqlite3_ds.py

+ 8 - 6
src/lib/python/isc/datasrc/sqlite3_ds.py

@@ -23,8 +23,9 @@ RR_NAME_INDEX = 2
 RR_TTL_INDEX = 4
 RR_RDATA_INDEX = 7
 
-# Current major version of schema
-SCHEMA_VERSION = 2
+# Current major and minor versions of schema
+SCHEMA_MAJOR_VERSION = 2
+SCHEMA_MINOR_VERSION = 0
 
 class Sqlite3DSError(Exception):
     """ Define exceptions."""
@@ -50,10 +51,11 @@ def create(cur):
         cur.execute("SELECT version FROM schema_version")
         row = cur.fetchone()
     except sqlite3.OperationalError:
-        cur.execute("""CREATE TABLE schema_version (version INTEGER NOT NULL),
-                    minor INTEGER NOT NULL DEFAULT 0""")
+        cur.execute("""CREATE TABLE schema_version (version INTEGER NOT NULL,
+                    minor INTEGER NOT NULL DEFAULT 0)""")
         cur.execute("INSERT INTO schema_version VALUES (" +
-                    str(SCHEMA_VERSION) + ")") # use the default minor version
+                    str(SCHEMA_MAJOR_VERSION) + ", " +
+                    str(SCHEMA_MINOR_VERSION) + ")")
         cur.execute("""CREATE TABLE zones (id INTEGER PRIMARY KEY,
                     name TEXT NOT NULL COLLATE NOCASE,
                     rdclass TEXT NOT NULL COLLATE NOCASE DEFAULT 'IN',
@@ -123,7 +125,7 @@ def open(dbfile, connect_timeout=5.0):
         row = create(cur)
         conn.isolation_level = iso_lvl
 
-    if row == None or row[0] != SCHEMA_VERSION:
+    if row == None or row[0] != SCHEMA_MAJOR_VERSION:
         bad_version = "(unknown)" if row is None else str(row[0])
         raise Sqlite3DSError("Bad database schema version: " + bad_version)