[svn] commit: r1156 - in /trunk/src/lib: auth/data_source_sqlite3.cc python/isc/auth/sqlite3_ds.py

BIND 10 source code commits bind10-changes at lists.isc.org
Sat Mar 6 18:34:11 UTC 2010


Author: each
Date: Sat Mar  6 18:34:11 2010
New Revision: 1156

Log:
add COLLATE NOCASE to table schema so that lookups will be case insensitive

Modified:
    trunk/src/lib/auth/data_source_sqlite3.cc
    trunk/src/lib/python/isc/auth/sqlite3_ds.py

Modified: trunk/src/lib/auth/data_source_sqlite3.cc
==============================================================================
--- trunk/src/lib/auth/data_source_sqlite3.cc (original)
+++ trunk/src/lib/auth/data_source_sqlite3.cc Sat Mar  6 18:34:11 2010
@@ -415,30 +415,30 @@
                           "version INTEGER NOT NULL)");
         execSetupQuery("INSERT INTO schema_version VALUES (1)");
         execSetupQuery("CREATE TABLE zones ("
-                          "id INTEGER PRIMARY KEY, "
-                          "name STRING NOT NULL, "
-                          "rdclass STRING NOT NULL DEFAULT 'IN', "
-                          "dnssec BOOLEAN NOT NULL DEFAULT 0)");
+                         "id INTEGER PRIMARY KEY, "
+                         "name STRING NOT NULL COLLATE NOCASE, "
+                         "rdclass STRING NOT NULL COLLATE NOCASE DEFAULT 'IN', "
+                         "dnssec BOOLEAN NOT NULL DEFAULT 0)");
         execSetupQuery("CREATE INDEX zones_byname ON zones (name)");
         execSetupQuery("CREATE TABLE records ("
-                          "id INTEGER PRIMARY KEY, "
-                          "zone_id INTEGER NOT NULL, "
-                          "name STRING NOT NULL, "
-                          "rname STRING NOT NULL, "
-                          "ttl INTEGER NOT NULL, "
-                          "rdtype STRING NOT NULL, "
-                          "sigtype STRING, "
-                          "rdata STRING NOT NULL)");
+                         "id INTEGER PRIMARY KEY, "
+                         "zone_id INTEGER NOT NULL, "
+                         "name STRING NOT NULL COLLATE NOCASE, "
+                         "rname STRING NOT NULL COLLATE NOCASE, "
+                         "ttl INTEGER NOT NULL, "
+                         "rdtype STRING NOT NULL COLLATE NOCASE, "
+                         "sigtype STRING COLLATE NOCASE, "
+                         "rdata STRING NOT NULL)");
         execSetupQuery("CREATE INDEX records_byname ON records (name)");
         execSetupQuery("CREATE INDEX records_byrname ON records (rname)");
         execSetupQuery("CREATE TABLE nsec3 ("
-                          "id INTEGER PRIMARY KEY, "
-                          "zone_id INTEGER NOT NULL, "
-                          "hash STRING NOT NULL, "
-                          "owner STRING NOT NULL, "
-                          "ttl INTEGER NOT NULL, "
-                          "rdtype STRING NOT NULL, "
-                          "rdata STRING NOT NULL)");
+                         "id INTEGER PRIMARY KEY, "
+                         "zone_id INTEGER NOT NULL, "
+                         "hash STRING NOT NULL COLLATE NOCASE, "
+                         "owner STRING NOT NULL COLLATE NOCASE, "
+                         "ttl INTEGER NOT NULL, "
+                         "rdtype STRING NOT NULL COLLATE NOCASE, "
+                         "rdata STRING NOT NULL)");
         execSetupQuery("CREATE INDEX nsec3_byhash ON nsec3 (hash)");
 
         setupPreparedStatements();

Modified: trunk/src/lib/python/isc/auth/sqlite3_ds.py
==============================================================================
--- trunk/src/lib/python/isc/auth/sqlite3_ds.py (original)
+++ trunk/src/lib/python/isc/auth/sqlite3_ds.py Sat Mar  6 18:34:11 2010
@@ -30,20 +30,27 @@
     cur.execute("CREATE TABLE schema_version (version INTEGER NOT NULL)")
     cur.execute("INSERT INTO schema_version VALUES (1)")
     cur.execute("""CREATE TABLE zones (id INTEGER PRIMARY KEY, 
-                   name STRING NOT NULL, rdclass STRING NOT NULL DEFAULT 'IN', 
+                   name STRING NOT NULL COLLATE NOCASE,
+                   rdclass STRING NOT NULL COLLATE NOCASE DEFAULT 'IN', 
                    dnssec BOOLEAN NOT NULL DEFAULT 0)""")
     cur.execute("CREATE INDEX zones_byname ON zones (name)")
     cur.execute("""CREATE TABLE records (id INTEGER PRIMARY KEY, 
-                   zone_id INTEGER NOT NULL, name STRING NOT NULL,
-                   rname STRING NOT NULL, ttl INTEGER NOT NULL,
-                   rdtype STRING NOT NULL, sigtype STRING,
+                   zone_id INTEGER NOT NULL,
+                   name STRING NOT NULL COLLATE NOCASE,
+                   rname STRING NOT NULL COLLATE NOCASE,
+                   ttl INTEGER NOT NULL,
+                   rdtype STRING NOT NULL COLLATE NOCASE,
+                   sigtype STRING COLLATE NOCASE,
                    rdata STRING NOT NULL)""")
     cur.execute("CREATE INDEX records_byname ON records (name)")
     cur.execute("CREATE INDEX records_byrname ON records (rname)")
     cur.execute("""CREATE TABLE nsec3 (id INTEGER PRIMARY KEY, 
-                   zone_id INTEGER NOT NULL, hash STRING NOT NULL,
-                   owner STRING NOT NULL, ttl INTEGER NOT NULL,
-                   rdtype STRING NOT NULL, rdata STRING NOT NULL)""")
+                   zone_id INTEGER NOT NULL,
+                   hash STRING NOT NULL COLLATE NOCASE,
+                   owner STRING NOT NULL COLLATE NOCASE,
+                   ttl INTEGER NOT NULL,
+                   rdtype STRING NOT NULL COLLATE NOCASE,
+                   rdata STRING NOT NULL)""")
     cur.execute("CREATE INDEX nsec3_byhash ON nsec3 (hash)")
 
 #########################################################################




More information about the bind10-changes mailing list