Page MenuHomePhabricator

Fatal error about schema when used with SMW 4.0+
Closed, ResolvedPublicBUG REPORT

Description

List of steps to reproduce (step by step, including full links if applicable):

  • Install SemanticDrilldown (REL1_37 branch) on MediaWiki 1.37 with SemanticMediaWiki 4.0.0
  • Open the page Special:BrowseData

What happens?:

Exception

[b71878b7186c8a087b5301cb] /Special:BrowseData Wikimedia\Rdbms\DBQueryError: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading or after adding a new extension?

Please see https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Upgrading and https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_debug for more information.

Error 1146: Table 'mediawiki_1_37.smw_ids' doesn't exist (localhost)
Function: SDBrowseDataPage::reallyDoQuery
Query: SELECT DISTINCT ids.smw_title AS title,
ids.smw_title AS value,
ids.smw_title AS t,
ids.smw_namespace AS namespace,
ids.smw_namespace AS ns,
ids.smw_id AS id,
ids.smw_iw AS iw,
ids.smw_sortkey AS sortkey
FROM `smw_ids` ids
JOIN `smw_inst2` insts
ON ids.smw_id = insts.s_id
AND ids.smw_namespace != 14 WHERE insts.o_id IN
(SELECT smw_id FROM `smw_ids` cat_ids
WHERE smw_namespace = 14 AND (smw_title = 'Article')) ORDER BY sortkey LIMIT 251

Backtrace:

from /mediawiki/includes/libs/rdbms/database/Database.php(1809)
#0 /mediawiki/includes/libs/rdbms/database/Database.php(1793): Wikimedia\Rdbms\Database->getQueryException()
#1 /mediawiki/includes/libs/rdbms/database/Database.php(1768): Wikimedia\Rdbms\Database->getQueryExceptionAndLog()
#2 /mediawiki/includes/libs/rdbms/database/Database.php(1327): Wikimedia\Rdbms\Database->reportQueryError()
#3 /mediawiki/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->query()
#4 /mediawiki/includes/libs/rdbms/database/DBConnRef.php(297): Wikimedia\Rdbms\DBConnRef->__call()
#5 /mediawiki/includes/specialpage/QueryPage.php(532): Wikimedia\Rdbms\DBConnRef->query()
#6 /mediawiki/includes/specialpage/QueryPage.php(704): QueryPage->reallyDoQuery()
#7 /mediawiki/extensions/SemanticDrilldown/includes/specials/SDBrowseData.php(143): QueryPage->execute()
#8 /mediawiki/includes/specialpage/SpecialPage.php(647): SDBrowseData->execute()
#9 /mediawiki/includes/specialpage/SpecialPageFactory.php(1366): SpecialPage->run()
#10 /mediawiki/includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#11 /mediawiki/includes/MediaWiki.php(930): MediaWiki->performRequest()
#12 /mediawiki/includes/MediaWiki.php(564): MediaWiki->main()
#13 /mediawiki/index.php(53): MediaWiki->run()
#14 /mediawiki/index.php(46): wfIndexMain()
#15 {main}

Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc.:

  • SemanticMediaWiki 4.0+
  • SemanticDrilldown REL1_37, REL1_38, master

Event Timeline

This error is due to the commit ec4b4906 in SMW 4.0.0+ where the parameter $smwgDefaultStore was changed from 'SMWSQLStore3' to 'SMW\SQLStore\SQLStore'.

I submit the patch in a short time.

Change 779435 had a related patch set uploaded (by Seb35; author: Seb35):

[mediawiki/extensions/SemanticDrilldown@master] Fatal error when used with SMW 4.0+

https://gerrit.wikimedia.org/r/779435

Seb35 triaged this task as Medium priority.
Seb35 raised the priority of this task from Medium to High.

Another Gerrit patch was submitted I271e3babd231e855412ede02931a7ac85ecd9569 one week before mine.
It fixes the default case when SQLStore is used but is a bit less complete than mine (no handling of SPARQLStore).

I may propose to accept both of them, first I271 then mine to acknowlegde the effort of both of us.

Change 779435 abandoned by Seb35:

[mediawiki/extensions/SemanticDrilldown@master] Fatal error when used with SMW 4.0+

Reason:

This was fixed with 3f5e60bd22139c1bc8ebd73a596dccbbb0f03f76.

https://gerrit.wikimedia.org/r/779435