List of steps to reproduce (step by step, including full links if applicable):
- Prepare a new database.
- Install MediaWiki.
- Add wfLoadExtension( 'FlaggedRevs' ); to your LocalSettings.php
- Execute update.php
What happens?:
The first execution fails with the below output:
...flaggedimages doesn't exist. Wikimedia\Rdbms\DBQueryError from line 1606 of /srv/femiwiki.com/includes/libs/rdbms/database/Database.php: Error 1171: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead (mysql) Function: Wikimedia\Rdbms\Database::sourceFile( /srv/femiwiki.com/extensions/FlaggedRevs/backend/schema/mysql/FlaggedRevs.sql ) Query: CREATE TABLE IF NOT EXISTS `flaggedtemplates` ( ft_rev_id integer unsigned NOT NULL, ft_tmp_rev_id integer unsigned NULL, PRIMARY KEY (ft_rev_id, ft_tmp_rev_id) ) ENGINE=InnoDB, DEFAULT CHARSET=binary #0 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1590): Wikimedia\Rdbms\Database->getQueryException('All parts of a ...', 1171, 'CREATE TABLE IF...', 'Wikimedia\\Rdbms...') #1 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1564): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('All parts of a ...', 1171, 'CREATE TABLE IF...', 'Wikimedia\\Rdbms...') #2 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1173): Wikimedia\Rdbms\Database->reportQueryError('All parts of a ...', 1171, 'CREATE TABLE IF...', 'Wikimedia\\Rdbms...', false) #3 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(4954): Wikimedia\Rdbms\Database->query('CREATE TABLE IF...', 'Wikimedia\\Rdbms...') #4 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(4889): Wikimedia\Rdbms\Database->sourceStream(Resource id #2684, NULL, NULL, 'Wikimedia\\Rdbms...', NULL) #5 /srv/femiwiki.com/includes/libs/rdbms/database/DBConnRef.php(69): Wikimedia\Rdbms\Database->sourceFile('/srv/femiwiki.c...') #6 /srv/femiwiki.com/includes/libs/rdbms/database/MaintainableDBConnRef.php(35): Wikimedia\Rdbms\DBConnRef->__call('sourceFile', Array) #7 /srv/femiwiki.com/includes/installer/DatabaseUpdater.php(704): Wikimedia\Rdbms\MaintainableDBConnRef->sourceFile('/srv/femiwiki.c...') #8 /srv/femiwiki.com/includes/installer/DatabaseUpdater.php(749): DatabaseUpdater->applyPatch('/srv/femiwiki.c...', true, 'Creating flagge...') #9 /srv/femiwiki.com/includes/installer/DatabaseUpdater.php(533): DatabaseUpdater->addTable('flaggedrevs', '/srv/femiwiki.c...', true) #10 /srv/femiwiki.com/includes/installer/DatabaseUpdater.php(501): DatabaseUpdater->runUpdates(Array, true) #11 /srv/femiwiki.com/maintenance/update.php(193): DatabaseUpdater->doUpdates(Array) #12 /srv/femiwiki.com/maintenance/doMaintenance.php(114): UpdateMediaWiki->execute() #13 /srv/femiwiki.com/maintenance/update.php(264): require_once('/srv/femiwiki.c...') #14 {main}
Following executions fail with:
Wikimedia\Rdbms\DBQueryError from line 1606 of /srv/femiwiki.com/includes/libs/rdbms/database/Database.php: Error 1146: Table 'femiwiki.flaggedpage_config' doesn't exist (mysql) Function: FlaggableWikiPage::pageData Query: SELECT page_id,page_namespace,page_title,page_restrictions,page_is_redirect,page_is_new,page_random,page_touched,page_links_updated,page_latest,page_len,page_content_model,page_lang,fpc_override,fpc_level,fpc_expiry,fp_pending_since,fp_stable,fp_reviewed FROM `page` LEFT JOIN `flaggedpages` ON ((fp_page_id = page_id)) LEFT JOIN `flaggedpage_config` ON ((fpc_page_id = page_id)) WHERE page_namespace = 10 AND page_title = '플로우언급' LIMIT 1 #0 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1590): Wikimedia\Rdbms\Database->getQueryException('Table 'femiwiki...', 1146, 'SELECT page_id...', 'FlaggableWikiPa...') #1 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1564): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Table 'femiwiki...', 1146, 'SELECT page_id...', 'FlaggableWikiPa...') #2 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1173): Wikimedia\Rdbms\Database->reportQueryError('Table 'femiwiki...', 1146, 'SELECT page_id...', 'FlaggableWikiPa...', false) #3 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1810): Wikimedia\Rdbms\Database->query('SELECT page_id...', 'FlaggableWikiPa...', 32) #4 /srv/femiwiki.com/includes/libs/rdbms/database/Database.php(1911): Wikimedia\Rdbms\Database->select(Array, Array, Array, 'FlaggableWikiPa...', Array, Array) #5 /srv/femiwiki.com/includes/libs/rdbms/database/DBConnRef.php(69): Wikimedia\Rdbms\Database->selectRow(Array, Array, Array, 'FlaggableWikiPa...', Array, Array) #6 /srv/femiwiki.com/includes/libs/rdbms/database/DBConnRef.php(337): Wikimedia\Rdbms\DBConnRef->__call('selectRow', Array) #7 /srv/femiwiki.com/extensions/FlaggedRevs/backend/FlaggableWikiPage.php(384): Wikimedia\Rdbms\DBConnRef->selectRow(Array, Array, Array, 'FlaggableWikiPa...', Array, Array) #8 /srv/femiwiki.com/includes/libs/objectcache/BagOStuff.php(202): FlaggableWikiPage::{closure}(60) #9 /srv/femiwiki.com/extensions/FlaggedRevs/backend/FlaggableWikiPage.php(388): BagOStuff->getWithSetCallback('femiwiki:flagge...', 60, Object(Closure)) #10 /srv/femiwiki.com/includes/page/WikiPage.php(433): FlaggableWikiPage->pageData(Object(Wikimedia\Rdbms\MaintainableDBConnRef), Array, Array) #11 /srv/femiwiki.com/extensions/FlaggedRevs/backend/FlaggableWikiPage.php(414): WikiPage->pageDataFromTitle(Object(Wikimedia\Rdbms\MaintainableDBConnRef), Object(Title)) #12 /srv/femiwiki.com/extensions/FlaggedRevs/backend/FlaggedRevsHooks.php(416): FlaggableWikiPage->loadPageData(1) #13 /srv/femiwiki.com/includes/HookContainer/HookContainer.php(338): FlaggedRevsHooks::maybeMakeEditReviewed(Object(WikiPage), Object(MediaWiki\Revision\RevisionStoreRecord), false, Object(User), Array) #14 /srv/femiwiki.com/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook('RevisionFromEdi...', Array, Array, Array) #15 /srv/femiwiki.com/includes/HookContainer/HookRunner.php(3184): MediaWiki\HookContainer\HookContainer->run('RevisionFromEdi...', Array) #16 /srv/femiwiki.com/includes/Storage/PageUpdater.php(1471): MediaWiki\HookContainer\HookRunner->onRevisionFromEditComplete(Object(WikiPage), Object(MediaWiki\Revision\RevisionStoreRecord), false, Object(User), Array) #17 /srv/femiwiki.com/includes/Storage/PageUpdater.php(911): MediaWiki\Storage\PageUpdater->doCreate(Object(CommentStoreComment)) #18 /srv/femiwiki.com/includes/page/WikiPage.php(1993): MediaWiki\Storage\PageUpdater->saveRevision(Object(CommentStoreComment), 24) #19 /srv/femiwiki.com/extensions/Flow/maintenance/FlowCreateTemplates.php(117): WikiPage->doUserEditContent(Object(WikitextContent), Object(User), Object(CommentStoreComment), 24) #20 /srv/femiwiki.com/extensions/Flow/maintenance/FlowCreateTemplates.php(91): FlowCreateTemplates->create(Object(Title), Object(WikitextContent)) #21 /srv/femiwiki.com/maintenance/includes/LoggedUpdateMaintenance.php(45): FlowCreateTemplates->doDBUpdates() #22 /srv/femiwiki.com/maintenance/update.php(205): LoggedUpdateMaintenance->execute() #23 /srv/femiwiki.com/maintenance/doMaintenance.php(114): UpdateMediaWiki->execute() #24 /srv/femiwiki.com/maintenance/update.php(264): require_once('/srv/femiwiki.c...') #25 {main} [51aaba7a9702711243b66791] [no req] Wikimedia\Rdbms\DBTransactionError: Explicit transaction still active; a caller might have failed to call endAtomic() or cancelAtomic(). Backtrace: from /srv/femiwiki.com/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1694) #0 /srv/femiwiki.com/includes/libs/rdbms/loadbalancer/LoadBalancer.php(2223): Wikimedia\Rdbms\LoadBalancer->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseMysqli) #1 /srv/femiwiki.com/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1729): Wikimedia\Rdbms\LoadBalancer->forEachOpenPrimaryConnection(Closure) #2 /srv/femiwiki.com/includes/libs/rdbms/lbfactory/LBFactory.php(249): Wikimedia\Rdbms\LoadBalancer->approvePrimaryChanges(array, string, integer) #3 /srv/femiwiki.com/includes/libs/rdbms/lbfactory/LBFactorySimple.php(145): Wikimedia\Rdbms\LBFactory::Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array) #4 /srv/femiwiki.com/includes/libs/rdbms/lbfactory/LBFactory.php(251): Wikimedia\Rdbms\LBFactorySimple->forEachLB(Closure, array) #5 /srv/femiwiki.com/includes/libs/rdbms/lbfactory/LBFactory.php(310): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array) #6 /srv/femiwiki.com/maintenance/includes/Maintenance.php(1268): Wikimedia\Rdbms\LBFactory->commitPrimaryChanges(string) #7 /srv/femiwiki.com/maintenance/doMaintenance.php(136): Maintenance->shutdown() #8 /srv/femiwiki.com/maintenance/update.php(264): require_once(string) #9 {main}
What should have happened instead?:
Database update should be done.
Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc.:
- MediaWiki 1.38.0
- Database: MySQL
The CREATE TABLE statement was last edited in Dec 2021.
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/FlaggedRevs/+/743403