aboutsummaryrefslogtreecommitdiff
path: root/bpkg/database.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-08-24 22:21:01 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-08-24 22:21:01 +0300
commit4d2d1a5b0abc4ef543b9d4aa79dc6891ca8b7155 (patch)
tree6af77c5bd50f35a7ec70c3df546d57eb7035ad80 /bpkg/database.cxx
parent886868dc67e069734b44d81d9f56d48a0a47538e (diff)
Drop all database migrations to be backward compatible with 0.14.0 and above (two minor versions behind)
Diffstat (limited to 'bpkg/database.cxx')
-rw-r--r--bpkg/database.cxx126
1 files changed, 0 insertions, 126 deletions
diff --git a/bpkg/database.cxx b/bpkg/database.cxx
index d96c53b..5754fae 100644
--- a/bpkg/database.cxx
+++ b/bpkg/database.cxx
@@ -61,132 +61,6 @@ namespace bpkg
template <odb::schema_version v>
using migration_entry = odb::data_migration_entry<v, DB_SCHEMA_VERSION_BASE>;
- static const migration_entry<8>
- migrate_v8 ([] (odb::database& db)
- {
- for (shared_ptr<repository> r: pointer_result (db.query<repository> ()))
- {
- if (!r->name.empty ()) // Non-root repository?
- {
- r->local = r->location.local ();
- db.update (r);
- }
- }
- });
-
- static const migration_entry<9>
- migrate_v9 ([] (odb::database& db)
- {
- // Add the unnamed self-link of the target type.
- //
- shared_ptr<configuration> sl (
- make_shared<configuration> (optional<string> (), "target"));
-
- db.persist (sl);
- db.execute (string ("UPDATE \"main\".selected_package_prerequisites ") +
- "SET configuration = '" + sl->uuid.string () + "'");
- });
-
- static const migration_entry<10>
- migrate_v10 ([] (odb::database& db)
- {
- // Create the multi-column index for the configuration and prerequisite
- // columns of the selected_package_prerequisites table.
- //
- db.execute (
- "CREATE INDEX "
- "\"main\".selected_package_prerequisites_configuration_prerequisite_i "
- "ON selected_package_prerequisites (configuration, prerequisite)");
- });
-
- static const migration_entry<12>
- migrate_v12 ([] (odb::database& d)
- {
- // Drop foreign key constraint for the prerequisite column of the
- // selected_package_prerequisites table.
- //
- // Note that since SQLite provides no API to drop constraints we will
- // rename the selected_package_prerequisites table, create the new table
- // without the constraint, and copy the data into the new table.
- //
- // Also note that we can only perform migration of the main database,
- // since dropping index and table in an attached database fails by some
- // reason with the SQLITE_LOCKED error. This, however, is probably ok
- // since the host and build system module configurations are already
- // created without this constraint and its highly unlikely to encounter an
- // already migrated (up to version 11) a linked target configuration.
- //
- database& db (static_cast<database&> (d));
-
- if (!db.main ())
- return;
-
- db.execute ("ALTER TABLE \"main\".\"selected_package_prerequisites\" "
- "RENAME TO \"selected_package_prerequisites_old\"");
-
- db.execute ("CREATE TABLE \"main\".\"selected_package_prerequisites\" (\n"
- " \"package\" TEXT NULL COLLATE NOCASE,\n"
- " \"configuration\" TEXT NULL,\n"
- " \"prerequisite\" TEXT NULL COLLATE NOCASE,\n"
- " \"min_version_epoch\" INTEGER NULL,\n"
- " \"min_version_canonical_upstream\" TEXT NULL,\n"
- " \"min_version_canonical_release\" TEXT NULL,\n"
- " \"min_version_revision\" INTEGER NULL,\n"
- " \"min_version_iteration\" INTEGER NULL,\n"
- " \"min_version_upstream\" TEXT NULL,\n"
- " \"min_version_release\" TEXT NULL,\n"
- " \"max_version_epoch\" INTEGER NULL,\n"
- " \"max_version_canonical_upstream\" TEXT NULL,\n"
- " \"max_version_canonical_release\" TEXT NULL,\n"
- " \"max_version_revision\" INTEGER NULL,\n"
- " \"max_version_iteration\" INTEGER NULL,\n"
- " \"max_version_upstream\" TEXT NULL,\n"
- " \"max_version_release\" TEXT NULL,\n"
- " \"min_open\" INTEGER NULL,\n"
- " \"max_open\" INTEGER NULL,\n"
- " CONSTRAINT \"package_fk\"\n"
- " FOREIGN KEY (\"package\")\n"
- " REFERENCES \"selected_package\" (\"name\")\n"
- " ON DELETE CASCADE)");
-
- db.execute ("INSERT INTO \"main\".\"selected_package_prerequisites\" "
- "SELECT "
- "\"package\", "
- "\"configuration\", "
- "\"prerequisite\", "
- "\"min_version_epoch\", "
- "\"min_version_canonical_upstream\", "
- "\"min_version_canonical_release\", "
- "\"min_version_revision\", "
- "\"min_version_iteration\", "
- "\"min_version_upstream\", "
- "\"min_version_release\", "
- "\"max_version_epoch\", "
- "\"max_version_canonical_upstream\", "
- "\"max_version_canonical_release\", "
- "\"max_version_revision\", "
- "\"max_version_iteration\", "
- "\"max_version_upstream\", "
- "\"max_version_release\", "
- "\"min_open\", "
- "\"max_open\" "
- "FROM \"main\".\"selected_package_prerequisites_old\"");
-
- db.execute ("DROP TABLE \"main\".\"selected_package_prerequisites_old\"");
-
- // Create the indexes after dropping the old table to make sure the old
- // indexes are also dropped to date.
- //
- db.execute ("CREATE INDEX "
- "\"main\".\"selected_package_prerequisites_package_i\"\n"
- " ON \"selected_package_prerequisites\" (\"package\")");
-
- db.execute (
- "CREATE INDEX "
- "\"main\".selected_package_prerequisites_configuration_prerequisite_i "
- "ON selected_package_prerequisites (configuration, prerequisite)");
- });
-
// @@ Since there is no proper support for dropping table columns not in
// SQLite prior to 3.35.5 nor in ODB, we will drop the
// available_package_dependency_alternatives.dep_* columns manually. We,