jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/394950 )

Change subject: CdbMessageIndex: do not store keys twice
......................................................................


CdbMessageIndex: do not store keys twice

The CDB supports fetching the keys from the file. There is no need
to store the keys separately using #keys. Using the native interface
is both faster (because we do not need to serialize array of 75k
values) and saves space.

Change-Id: Ibd09ce9091e0251fa04f833624bff7a7a4a08f48
---
M utils/MessageIndex.php
1 file changed, 9 insertions(+), 3 deletions(-)

Approvals:
  jenkins-bot: Verified
  Santhosh: Looks good to me, approved



diff --git a/utils/MessageIndex.php b/utils/MessageIndex.php
index 2e40718..3d132f9 100644
--- a/utils/MessageIndex.php
+++ b/utils/MessageIndex.php
@@ -615,7 +615,15 @@
                        return $this->index;
                }
 
-               $keys = (array)$this->unserialize( $reader->get( '#keys' ) );
+               $keys = [];
+               while ( true ) {
+                       $key = $keys === [] ? $reader->firstkey() : 
$reader->nextkey();
+                       if ( $key === false ) {
+                               break;
+                       }
+                       $keys[] = $key;
+               }
+
                $this->index = [];
                foreach ( $keys as $key ) {
                        $this->index[$key] = $this->unserialize( $reader->get( 
$key ) );
@@ -650,8 +658,6 @@
 
                $file = TranslateUtils::cacheFile( $this->filename );
                $cache = \Cdb\Writer::open( $file );
-               $keys = array_keys( $array );
-               $cache->set( '#keys', $this->serialize( $keys ) );
 
                foreach ( $array as $key => $value ) {
                        $value = $this->serialize( $value );

-- 
To view, visit https://gerrit.wikimedia.org/r/394950
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd09ce9091e0251fa04f833624bff7a7a4a08f48
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: KartikMistry <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to