https://bugzilla.wikimedia.org/show_bug.cgi?id=57724

--- Comment #4 from José Antonio <[email protected]> ---
Hi,

According to my understanding the root of this bug is in
is in function selectSQLText( $table, $vars, $conds, $fname, $options,
$join_conds ); starting in line 1453 of file  includes/db/Database.php.

In my understanding this function should  check if  an update on a select with
outer joint is going to be requested . Thus avoiding the” select for
update/share cannot be applied to the nullable side of an outer join.” 
exception  thrown by postgresql.

This the secuence of calls that it seems to happen from 
/
SemanticMediaWiki/tests/phpunit/integration/MediaWikiFunctionHookIntegrationTest.php
 testOnArticlePurgeOnDatabase();

$this->deletePage( $wikiPage, __METHOD__ )  starts an “forupdate” process.
$wikiPage->doDeleteArticle( 
doDeleteArticleReal

[file includes/Hooks.php]
wfRunHooks( 'ArticleDelete',    array( &$this wikipage,
                 &$user, &$reason, &$error, &$status ) ) 
$hooks = self::getHandlers( ArticleDelete );

[file includes/wikipage.php]
loadPageData( 'forupdate' );
pageDataFromTitle( wfGetDB( DB_MASTER ), $this->mTitle, array( 'FOR UPDATE' )
);

[includes/db/LoadBalancer.php]
connection -->db->last query lef joint → reused for update

[file includes/wikipage.php]

 pageDataFromTitle
 pageData

[file includes/db/Database.php]
selectRow( 'page', $fields, $conditions, __METHOD__, $options );
selectSQLText( $table, $vars, $conds, $fname, $options, $join_conds );

Regards.

J.A.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to