IMDb downloader: optimize SQLlite database for the common case
[cinaest] / src / imdb / imdb-sqlite.vala
index b489fdb..d26564b 100644 (file)
@@ -129,19 +129,12 @@ class IMDbSqlite : Object {
        public int clear () {
                int rc;
 
-               rc = db.exec ("DROP TABLE IF EXISTS Movies; CREATE TABLE Movies (Title TEXT NOT NULL, Year INTEGER, Rating INTEGER, Votes INTEGER, Genres INTEGER NOT NULL DEFAULT 0); DROP TABLE IF EXISTS Genres; CREATE TABLE Genres (Bit INTEGER PRIMARY KEY, Genre TEXT NOT NULL);", callback, null);
-               if (rc != Sqlite.OK) {
-                       stderr.printf ("SQL error: %d, %s\n", rc, db.errmsg ());
-                       return 1;
-               }
-
-               return 0;
-       }
-
-       public int create_title_index () {
-               int rc;
-
-               rc = db.exec ("CREATE INDEX MovieTitles ON Movies(Title);", callback, null);
+               rc = db.exec (
+                       "DROP TABLE IF EXISTS Movies;" +
+                       "CREATE TABLE Movies (Title TEXT PRIMARY KEY COLLATE NOCASE, Year INTEGER, Rating INTEGER, Votes INTEGER NOT NULL DEFAULT 0, Genres INTEGER NOT NULL DEFAULT 0);" +
+                       "DROP TABLE IF EXISTS Genres;" +
+                       "CREATE TABLE Genres (Bit INTEGER PRIMARY KEY, Genre TEXT NOT NULL);",
+                       callback, null);
                if (rc != Sqlite.OK) {
                        stderr.printf ("SQL error: %d, %s\n", rc, db.errmsg ());
                        return 1;