wiki.techinc.nl/maintenance/postgres/archives
a smart kitten ffa868bcf1 PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes
Why:
 - From MediaWiki 1.36 to MediaWiki 1.44 (inclusive),
   `PostgresUpdater.php` contains a typo in the instruction to rename
   the `sites_group` index to `site_group`.
 - This typo means that - on Postgres wikis - the MediaWiki update
   script will not currently rename this index as intended, as the index
   which the updater is told to rename (i.e., containing the typo)
   doesn't exist.
 - From MediaWiki 1.42 onwards, this typo indirectly causes `update.php`
   on Postgres wikis to throw an error on its first run:
    - From MW 1.42 onwards, the update script included an instruction to
      drop multiple indexes on the `sites` table, including this index
      that was previously intended to be renamed.
    - However, as this typo meant that the `sites_group` index was never
      renamed on Postgres wikis, the database is unable to find the
      renamed index in order to drop it; and consequently throws an
      error (reported on Phabricator as T374042).
 - This only affects the first run of `update.php` due to the fact
   that - when deciding whether to apply the patch containing _all_ of
   the index-drops for the `sites` table - the `dropIndex` instruction
   only checks for the existence of the `site_type` index (and, if the
   `site_type` index doesn't exist, the patch as a whole isn't applied).
   However, as - within `patch-sites-drop_indexes.sql` - the statement
   to drop the `site_type` index is located _before_ the instruction to
   drop the `site_group` index, the `site_type` index will have been
   dropped on the first run of `update.php`.
 - This also means that - on any future runs of `update.php` - the
   indexes listed after (and including) `site_group` in that SQL file
   will currently remain un-dropped.

What:
 - Fix the typo in the PostgresUpdater index renaming instruction:
     `'sites_group, '`   ->   `'sites_group'`
 - Update PostgresUpdater to individually re-attempt to drop the indexes
   listed after & including `site_group` in
   `patch-sites-drop_indexes.sql`, to ensure that they're dropped on
   Postgres wikis that have already (1) upgraded to MW 1.42+, & (2) ran
   `update.php`.
   (These could theoretically have all been combined within one extra
   SQL patch, rather than one for each index; but I thought it might be
   best for the updater to check for the existence of each of these
   indexes individually before it attempts to drop each one.)

Follows-up 9907b56c9b, 616744db1d

Bug: T374042
Change-Id: Ie6ffa92153e64ca653f726a35a5a6b5d95d093f5
2025-08-03 11:40:46 +01:00
..
patch-block_target.sql
patch-categorylinks-pk.sql
patch-change_tag-ct_rc_id.sql Make rc_id a bigint 2024-05-04 21:14:51 +02:00
patch-drop-cl_collation_ext.sql Schema: Drop cl_collation_ext index 2024-01-26 16:16:41 +01:00
patch-drop-rev_page_id.sql
patch-externallinks-drop-el_to.sql
patch-externallinks-el_to_default.sql
patch-externallinks-el_to_path.sql
patch-filearchive-fa_size_to_bigint.sql
patch-image-img_size_to_bigint.sql
patch-iwlinks-drop-iwl_prefix_from_title.sql Schema: Drop iwl_prefix_from_title from iwlinks 2024-02-08 17:01:26 +01:00
patch-iwlinks-pk.sql
patch-l10n_cache-pk.sql
patch-langlinks-pk.sql
patch-linktarget.sql
patch-module_deps-pk.sql
patch-objectcache-modtoken.sql
patch-objectcache_keyname-pk.sql
patch-oldimage-oi_size_to_bigint.sql
patch-pagelinks-drop-pl_title.sql schema: Drop old pagelinks columns 2024-06-18 21:13:38 +02:00
patch-pagelinks-target_id.sql
patch-querycache_info-pk.sql
patch-recentchanges-rc_id-bigint.sql Make rc_id a bigint 2024-05-04 21:14:51 +02:00
patch-recentchanges-rc_new_name_timestamp.sql
patch-revision-cleanup.sql Cleanup revision table schema 2024-05-04 20:22:36 +02:00
patch-searchindex-pk-titlelength.sql Searchindex primary key, title length and utf8mb4 2024-11-02 11:14:37 +00:00
patch-searchindex-table.sql
patch-sites-drop_indexes.sql Schema: Drop unused and useless indexes of sites table 2024-02-01 15:32:05 +01:00
patch-sites-drop_site_domain_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-sites-drop_site_forward_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-sites-drop_site_group_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-sites-drop_site_language_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-sites-drop_site_protocol_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-sites-drop_site_source_index.sql PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes 2025-08-03 11:40:46 +01:00
patch-templatelinks-drop-tl_title.sql
patch-templatelinks-target_id.sql
patch-testrun.sql
patch-uploadstash-us_size_to_bigint.sql
patch-user-user_is_temp.sql
patch-user_autocreate_serial-uas_year.sql
patch-user_autocreate_serial.sql
patch-user_properties-pk.sql