Currently an error occurs if the openid_connect table already exists.
Description
Details
Related Objects
Event Timeline
Change #1086541 had a related patch set uploaded (by MarkAHershberger; author: MarkAHershberger):
[mediawiki/extensions/OpenIDConnect@master] Fix up ChangePrimaryKey handling
Change #1086541 merged by jenkins-bot:
[mediawiki/extensions/OpenIDConnect@master] Fix up ChangePrimaryKey handling
Change #1109763 had a related patch set uploaded (by Cicalese; author: MarkAHershberger):
[mediawiki/extensions/OpenIDConnect@REL1_39] Fix up ChangePrimaryKey handling
Change #1109764 had a related patch set uploaded (by Cicalese; author: MarkAHershberger):
[mediawiki/extensions/OpenIDConnect@REL1_43] Fix up ChangePrimaryKey handling
Change #1109763 merged by jenkins-bot:
[mediawiki/extensions/OpenIDConnect@REL1_39] Fix up ChangePrimaryKey handling
Change #1109764 merged by jenkins-bot:
[mediawiki/extensions/OpenIDConnect@REL1_43] Fix up ChangePrimaryKey handling
Is a backport to REL1_42 planned? I came across this issue on 1.42.5 which seems to be still supported. Thank you for fixing this bug.
I believe this should be re-opened, the same error still appears in latest mediawiki REL1_43, which contains the fix from https://gerrit.wikimedia.org/r/1109764.
Docker image: mediawiki:1.43.0
OpenIDConnect Version: REL1_43-f68146b
After an update from 1.42.5 to 1.43.0, with existing openid_connect table, php maintenance/run.php update.php results in:
...openid_connect table already exists. [rdbms] Wikimedia\Rdbms\LoadBalancer::getAnyOpenConnection: found 'round' connection to #0. [rdbms] Wikimedia\Rdbms\DatabasePostgres::getCoreSchemas [0.146ms] host.docker.internal: SELECT nspname FROM pg_catalog.pg_namespace n WHERE n.oid = pg_my_temp_schema() [rdbms] Wikimedia\Rdbms\DatabasePostgres::relationExists [0.232ms] host.docker.internal: SELECT 1 FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n WHERE c.relnamespace = n.oid AND c.relname = 'openid_connect' AND n.nspname = 'mediawiki' AND c.relkind IN ('r','v') [rdbms] Wikimedia\Rdbms\DatabasePostgres::getCoreSchemas [0.142ms] host.docker.internal: SELECT nspname FROM pg_catalog.pg_namespace n WHERE n.oid = pg_my_temp_schema() [rdbms] Wikimedia\Rdbms\PostgresField::fromText [1.27ms] host.docker.internal: SELECT attnotnull, attlen, conname AS conname, atthasdef, pg_get_expr(adbin, adrelid) AS adsrc, COALESCE(condeferred, FALSE) AS deferred, COALESCE(condeferrable, FALSE) AS deferrable, CASE WHEN typname = 'int2' THEN 'smallint' WHEN typname = 'int4' THEN 'integer' WHEN typname = 'int8' THEN 'bigint' WHEN typname = 'bpchar' THEN 'char' ELSE typname END AS typname FROM pg_class c JOIN pg_namespace n ON (n.oid = c.relnamespace) JOIN pg_attribute a ON (a.attrelid = c.oid) JOIN pg_type t ON (t.oid = a.atttypid) LEFT JOIN pg_constraint o ON (o.conrelid = c.oid AND a.attnum = ANY(o.conkey) AND o.contype = 'f') LEFT JOIN pg_attrdef d on c.oid=d.adrelid and a.attnum=d.adnum WHERE relkind = 'r' AND nspname='mediawiki' AND relname='openid_connect' AND attname='oidc_id'; Adding oidc_id field to table openid_connect...[rdbms] Wikimedia\Rdbms\Database::sourceFile( /var/www/html/extensions/OpenIDConnect/includes/../sql/postgres/ChangePrimaryKey.sql ) [0.306ms] host.docker.internal: DROP INDEX "primary" Fri Feb 14 11:28:20 UTC 2025 5ced204eabfa mediawiki Error 42704 from Wikimedia\Rdbms\Database::sourceFile( /var/www/html/extensions/OpenIDConnect/includes/../sql/postgres/ChangePrimaryKey.sql ), ERROR: index "primary" does not exist DROP INDEX "primary"\n host.docker.internal #0 /var/www/html/includes/libs/rdbms/database/Database.php(1156): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, string, string, string) #1 /var/www/html/includes/libs/rdbms/database/Database.php(647): Wikimedia\Rdbms\Database->reportQueryError(string, string, string, string, bool) #2 /var/www/html/includes/libs/rdbms/database/Database.php(2791): Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string) #3 /var/www/html/includes/libs/rdbms/database/Database.php(2730): Wikimedia\Rdbms\Database->sourceStream(resource (stream), null, null, string, null) #4 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->sourceFile(string) #5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(799): Wikimedia\Rdbms\DBConnRef->__call(string, array) #6 /var/www/html/includes/installer/DatabaseUpdater.php(797): Wikimedia\Rdbms\DBConnRef->sourceFile(string) #7 /var/www/html/includes/installer/DatabaseUpdater.php(869): MediaWiki\Installer\DatabaseUpdater->applyPatch(string, bool, string) #8 /var/www/html/includes/installer/DatabaseUpdater.php(595): MediaWiki\Installer\DatabaseUpdater->addField(string, string, string, bool) #9 /var/www/html/includes/installer/DatabaseUpdater.php(552): MediaWiki\Installer\DatabaseUpdater->runUpdates(array, bool) #10 /var/www/html/maintenance/update.php(195): MediaWiki\Installer\DatabaseUpdater->doUpdates(array) #11 /var/www/html/maintenance/includes/MaintenanceRunner.php(703): UpdateMediaWiki->execute() #12 /var/www/html/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run() #13 {main} Wikimedia\Rdbms\DBQueryError from line 1198 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42704: ERROR: index "primary" does not exist Function: Wikimedia\Rdbms\Database::sourceFile( /var/www/html/extensions/OpenIDConnect/includes/../sql/postgres/ChangePrimaryKey.sql ) Query: DROP INDEX "primary" #0 /var/www/html/includes/libs/rdbms/database/Database.php(1182): Wikimedia\Rdbms\Database->getQueryException('ERROR: index "...', '42704', 'DROP INDEX "pr...', 'Wikimedia\\Rdbms...') #1 /var/www/html/includes/libs/rdbms/database/Database.php(1156): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR: index "...', '42704', 'DROP INDEX "pr...', 'Wikimedia\\Rdbms...') #2 /var/www/html/includes/libs/rdbms/database/Database.php(647): Wikimedia\Rdbms\Database->reportQueryError('ERROR: index "...', '42704', 'DROP INDEX "pr...', 'Wikimedia\\Rdbms...', false) #3 /var/www/html/includes/libs/rdbms/database/Database.php(2791): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'Wikimedia\\Rdbms...') #4 /var/www/html/includes/libs/rdbms/database/Database.php(2730): Wikimedia\Rdbms\Database->sourceStream(Resource id #2579, NULL, NULL, 'Wikimedia\\Rdbms...', NULL) #5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->sourceFile('/var/www/html/e...') #6 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(799): Wikimedia\Rdbms\DBConnRef->__call('sourceFile', Array) #7 /var/www/html/includes/installer/DatabaseUpdater.php(797): Wikimedia\Rdbms\DBConnRef->sourceFile('/var/www/html/e...') #8 /var/www/html/includes/installer/DatabaseUpdater.php(869): MediaWiki\Installer\DatabaseUpdater->applyPatch('/var/www/html/e...', true, 'Adding oidc_id ...') #9 /var/www/html/includes/installer/DatabaseUpdater.php(595): MediaWiki\Installer\DatabaseUpdater->addField('openid_connect', 'oidc_id', '/var/www/html/e...', true) #10 /var/www/html/includes/installer/DatabaseUpdater.php(552): MediaWiki\Installer\DatabaseUpdater->runUpdates(Array, true) #11 /var/www/html/maintenance/update.php(195): MediaWiki\Installer\DatabaseUpdater->doUpdates(Array) #12 /var/www/html/maintenance/includes/MaintenanceRunner.php(703): UpdateMediaWiki->execute() #13 /var/www/html/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run() #14 {main}
T378904#10552156 appears to be a separate issue affecting only Postgres. See T382116.