Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix repo downgrade SQL.
Vsevolod Stakhov committed 11 years ago
commit 1554937342d5161a0091d8ffdbdfe783806fae27
parent bf0cb43
1 file changed +36 -1
modified libpkg/repo/binary/binary_private.h
@@ -362,7 +362,42 @@ static const struct repo_changes repo_downgrades[] = {
	 2009,
	 "Drop olddigest field",

-
	 "ALTER TABLE packages REMOVE COLUMN olddigest;"
+
	 "ALTER TABLE packages RENAME TO packages_old;"
+
	 "CREATE TABLE packages ("
+
	    "id INTEGER PRIMARY KEY,"
+
	    "origin TEXT UNIQUE,"
+
	    "name TEXT NOT NULL,"
+
	    "version TEXT NOT NULL,"
+
	    "comment TEXT NOT NULL,"
+
	    "desc TEXT NOT NULL,"
+
	    "osversion TEXT,"
+
	    "arch TEXT NOT NULL,"
+
	    "maintainer TEXT NOT NULL,"
+
	    "www TEXT,"
+
	    "prefix TEXT NOT NULL,"
+
	    "pkgsize INTEGER NOT NULL,"
+
	    "flatsize INTEGER NOT NULL,"
+
	    "licenselogic INTEGER NOT NULL,"
+
	    "cksum TEXT NOT NULL,"
+
	    "path TEXT NOT NULL,"
+
	    "pkg_format_version INTEGER,"
+
	    "manifestdigest TEXT NULL,"
+
	");"
+
	"INSERT INTO packages (id, origin, name, version, comment, desc,"
+
	"osversion, arch, maintainer, www, prefix, pkgsize, flatsize,"
+
	"licenselogic, cksum, path, pkg_format_version, manifestdigest) "
+
	"SELECT id, origin, name, version, comment, desc,"
+
	"osversion, arch, maintainer, www, prefix, pkgsize, flatsize,"
+
	"licenselogic, cksum, path, pkg_format_version, manifestdigest FROM "
+
	"packages_old;"
+
	"DROP TABLE packages_old;"
+
	"CREATE INDEX packages_origin ON packages(origin COLLATE NOCASE);"
+
	"CREATE INDEX packages_name ON packages(name COLLATE NOCASE);"
+
	"CREATE INDEX packages_uid_nocase ON packages(name COLLATE NOCASE, origin COLLATE NOCASE);"
+
	"CREATE INDEX packages_version_nocase ON packages(name COLLATE NOCASE, version);"
+
	"CREATE INDEX packages_uid ON packages(name, origin);"
+
	"CREATE INDEX packages_version ON packages(name, version);"
+
	"CREATE UNIQUE INDEX packages_digest ON packages(manifestdigest);"
	},
	{2009,
	 2008,