Umherirrender has uploaded a new change for review. https://gerrit.wikimedia.org/r/318330
Change subject: Refactor rev_delete handling on deletion ...................................................................... Refactor rev_delete handling on deletion Refactoring handling of the rev_delete database field, which is not needed to select, when the suppress option is set. Also added a new const, to avoid a comment about that things should be 15 ... Change-Id: Ia5bcb835172bf6c10e2e872555fc67e91806ebe1 --- M includes/Revision.php M includes/filerepo/file/LocalFile.php M includes/page/WikiPage.php 3 files changed, 9 insertions(+), 19 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/30/318330/1 diff --git a/includes/Revision.php b/includes/Revision.php index 8f337f9..b812191 100644 --- a/includes/Revision.php +++ b/includes/Revision.php @@ -87,6 +87,7 @@ const DELETED_USER = 4; const DELETED_RESTRICTED = 8; const SUPPRESSED_USER = 12; // convenience + const SUPPRESSED_ALL = 15; // convenience // Audience options for accessors const FOR_PUBLIC = 1; diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index 9df9360..d3a14fa 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -2234,12 +2234,7 @@ // Bitfields to further suppress the content if ( $this->suppress ) { - $bitfield = 0; - // This should be 15... - $bitfield |= Revision::DELETED_TEXT; - $bitfield |= Revision::DELETED_COMMENT; - $bitfield |= Revision::DELETED_USER; - $bitfield |= Revision::DELETED_RESTRICTED; + $bitfield = Revision::SUPPRESSED_ALL; } else { $bitfield = 'oi_deleted'; } @@ -2259,7 +2254,6 @@ 'fa_deleted_timestamp' => $encTimestamp, 'fa_deleted_reason' => $encReason, 'fa_deleted' => $this->suppress ? $bitfield : 0, - 'fa_name' => 'img_name', 'fa_archive_name' => 'NULL', 'fa_size' => 'img_size', diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 54bc6f6..0b26d28 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -2926,17 +2926,13 @@ $content = null; } + $fields = Revision::selectFields(); + $bitfield = false; + // Bitfields to further suppress the content if ( $suppress ) { - $bitfield = 0; - // This should be 15... - $bitfield |= Revision::DELETED_TEXT; - $bitfield |= Revision::DELETED_COMMENT; - $bitfield |= Revision::DELETED_USER; - $bitfield |= Revision::DELETED_RESTRICTED; - $deletionFields = [ $dbw->addQuotes( $bitfield ) . ' AS deleted' ]; - } else { - $deletionFields = [ 'rev_deleted AS deleted' ]; + $bitfield = Revision::SUPPRESSED_ALL; + $fields = array_diff( $fields, [ 'rev_deleted' ] ); } // For now, shunt the revision data into the archive table. @@ -2947,10 +2943,9 @@ // the rev_deleted field, which is reserved for this purpose. // Get all of the page revisions - $fields = array_diff( Revision::selectFields(), [ 'rev_deleted' ] ); $res = $dbw->select( 'revision', - array_merge( $fields, $deletionFields ), + $fields, [ 'rev_page' => $id ], __METHOD__, 'FOR UPDATE' @@ -2973,7 +2968,7 @@ 'ar_flags' => '', 'ar_len' => $row->rev_len, 'ar_page_id' => $id, - 'ar_deleted' => $row->deleted, + 'ar_deleted' => $suppress ? $bitfield : $row->rev_deleted, 'ar_sha1' => $row->rev_sha1, ]; if ( $wgContentHandlerUseDB ) { -- To view, visit https://gerrit.wikimedia.org/r/318330 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia5bcb835172bf6c10e2e872555fc67e91806ebe1 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Umherirrender <umherirrender_de...@web.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits