X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fdeferred%2FDeferredUpdates.php;h=bbe8687b51f69303e474eb7a24773a4800bb8541;hb=212f96ec2a4f06becb4a51efe411664bd0abf856;hp=05256aeff029ce18306464392e86843d3be0d751;hpb=32ed9feb39c5acfadf33d34b66cb70bd2ff01d16;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/deferred/DeferredUpdates.php b/includes/deferred/DeferredUpdates.php index 05256aeff0..bbe8687b51 100644 --- a/includes/deferred/DeferredUpdates.php +++ b/includes/deferred/DeferredUpdates.php @@ -19,8 +19,10 @@ * * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; use Wikimedia\Rdbms\LBFactory; +use Wikimedia\Rdbms\LoadBalancer; /** * Class for managing the deferred updates @@ -335,6 +337,21 @@ class DeferredUpdates { return count( self::$preSendUpdates ) + count( self::$postSendUpdates ); } + /** + * @param integer $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL) + * @since 1.29 + */ + public static function getPendingUpdates( $stage = self::ALL ) { + $updates = []; + if ( $stage === self::ALL || $stage === self::PRESEND ) { + $updates = array_merge( $updates, self::$preSendUpdates ); + } + if ( $stage === self::ALL || $stage === self::POSTSEND ) { + $updates = array_merge( $updates, self::$postSendUpdates ); + } + return $updates; + } + /** * Clear all pending updates without performing them. Generally, you don't * want or need to call this. Unit tests need it though.