Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Upgrade user's databases with indicies.
Vsevolod Stakhov committed 11 years ago
commit 7431c05c6a46b70cda480ba3fdd50b9aaeadd86d
parent fa815ff
4 files changed +28 -4
modified libpkg/pkgdb.c
@@ -73,7 +73,7 @@
*/

#define DB_SCHEMA_MAJOR	0
-
#define DB_SCHEMA_MINOR	26
+
#define DB_SCHEMA_MINOR	27

#define DBVERSION (DB_SCHEMA_MAJOR * 1000 + DB_SCHEMA_MINOR)

modified libpkg/pkgdb_repo.c
@@ -59,7 +59,7 @@
/* The package repo schema minor revision.
   Minor schema changes don't prevent older pkgng
   versions accessing the repo. */
-
#define REPO_SCHEMA_MINOR 8
+
#define REPO_SCHEMA_MINOR 9

/* REPO_SCHEMA_VERSION=2007 */
#define REPO_SCHEMA_VERSION (REPO_SCHEMA_MAJOR * 1000 + REPO_SCHEMA_MINOR)
modified libpkg/private/db_upgrades.h
@@ -627,8 +627,14 @@ static struct db_upgrades {
	"ALTER TABLE packages ADD COLUMN manifestdigest TEXT NULL;"
	"CREATE INDEX IF NOT EXISTS pkg_digest_id ON packages(origin, manifestdigest);"
	},
-

-

+
	{27,
+
	"CREATE INDEX IF NOT EXISTS packages_origin ON packages(origin COLLATE NOCASE);"
+
	"CREATE INDEX IF NOT EXISTS packages_name ON packages(name COLLATE NOCASE);"
+
	"CREATE INDEX IF NOT EXISTS packages_uid_nocase ON packages(name COLLATE NOCASE, origin COLLATE NOCASE);"
+
	"CREATE INDEX IF NOT EXISTS packages_version_nocase ON packages(name COLLATE NOCASE, version);"
+
	"CREATE INDEX IF NOT EXISTS packages_uid ON packages(name, origin COLLATE NOCASE);"
+
	"CREATE INDEX IF NOT EXISTS packages_version ON packages(name, version);"
+
	},
	/* Mark the end of the array */
	{ -1, NULL }

modified libpkg/private/repodb.h
@@ -343,6 +343,15 @@ static const struct repo_changes repo_upgrades[] = {
	 "CREATE INDEX %Q.packages_origin ON packages(origin COLLATE NOCASE);"
	 "CREATE INDEX %Q.packages_name ON packages(name COLLATE NOCASE);"
	},
+
	{2008,
+
	 2009,
+
	 "Optimize indicies",
+

+
	 "CREATE INDEX IF NOT EXISTS %Q.packages_uid_nocase ON packages(name COLLATE NOCASE, origin COLLATE NOCASE);"
+
	 "CREATE INDEX IF NOT EXISTS %Q.packages_version_nocase ON packages(name COLLATE NOCASE, version);"
+
	 "CREATE INDEX IF NOT EXISTS %Q.packages_uid ON packages(name, origin COLLATE NOCASE);"
+
	 "CREATE INDEX IF NOT EXISTS %Q.packages_version ON packages(name, version);"
+
	},
	/* Mark the end of the array */
	{ -1, -1, NULL, NULL, }

@@ -351,6 +360,15 @@ static const struct repo_changes repo_upgrades[] = {
/* How to downgrade a newer repo to match what the current system
   expects */
static const struct repo_changes repo_downgrades[] = {
+
	{2009,
+
	 2008,
+
	 "Drop indicies",
+

+
	 "DROP INDEX %Q.packages_uid_nocase;"
+
	 "DROP INDEX %Q.packages_version_nocase;"
+
	 "DROP INDEX %Q.packages_uid;"
+
	 "DROP INDEX %Q.packages_version;"
+
	},
	{2008,
	 2007,
	 "Drop FTS index",