Chad has uploaded a new change for review.

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

Change subject: Stop using $wgProfileToDatabase
......................................................................

Stop using $wgProfileToDatabase

Was not completely removed and the remaining bits were mostly
broken. $wgProfiler['output'] = 'db' is the proper way.

Fixes T75917
Change-Id: I36565e2372db2ed49b219cf533ec433e8111c52f
---
M docs/scripts.txt
M includes/installer/DatabaseUpdater.php
M includes/installer/MysqlUpdater.php
M includes/installer/SqliteUpdater.php
M profileinfo.php
M tests/phpunit/includes/db/DatabaseSqliteTest.php
6 files changed, 42 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/68/177268/1

diff --git a/docs/scripts.txt b/docs/scripts.txt
index c6fa674..178bb15 100644
--- a/docs/scripts.txt
+++ b/docs/scripts.txt
@@ -34,7 +34,7 @@
     To save the profiling information in the database (required to use this
     script), you have to modify StartProfiler.php to use the Profiler class and
     not the stub profiler which is enabled by default.
-    You will also need to set $wgProfileToDatabase to true in LocalSettings.php
+    You will also need to set $wgProfiler['output'] to 'db' in 
LocalSettings.php
     to force the profiler to save the informations in the database and apply 
the
     maintenance/archives/patch-profiling.sql patch to the database.
 
diff --git a/includes/installer/DatabaseUpdater.php 
b/includes/installer/DatabaseUpdater.php
index dac4337..a5540db 100644
--- a/includes/installer/DatabaseUpdater.php
+++ b/includes/installer/DatabaseUpdater.php
@@ -1059,6 +1059,31 @@
        }
 
        /**
+        * Enable profiling table when it's turned on
+        */
+       protected function doEnableProfiling() {
+               global $wgProfiler;
+
+               if ( !$this->doTable( 'profiling' ) ) {
+                       return true;
+               }
+
+               $profileToDb = false;
+               if ( isset( $wgProfiler['output'] ) ) {
+                       $out = $wgProfiler['output'];
+                       if ( $out === 'db' ) {
+                               $profileToDb = true;
+                       } elseif( is_array( $out ) && in_array( 'db', $out ) ) {
+                               $profileToDb = true;
+                       }
+               }
+
+               if ( $profileToDb && !$this->db->tableExists( 'profiling', 
__METHOD__ ) ) {
+                       $this->applyPatch( 'patch-profiling.sql', false, 'Add 
profiling table' );
+               }
+       }
+
+       /**
         * Rebuilds the localisation cache
         */
        protected function rebuildLocalisationCache() {
diff --git a/includes/installer/MysqlUpdater.php 
b/includes/installer/MysqlUpdater.php
index 990b5b0..c3dedbc 100644
--- a/includes/installer/MysqlUpdater.php
+++ b/includes/installer/MysqlUpdater.php
@@ -924,18 +924,6 @@
                }
        }
 
-       protected function doEnableProfiling() {
-               global $wgProfileToDatabase;
-
-               if ( !$this->doTable( 'profiling' ) ) {
-                       return true;
-               }
-
-               if ( $wgProfileToDatabase === true && !$this->db->tableExists( 
'profiling', __METHOD__ ) ) {
-                       $this->applyPatch( 'patch-profiling.sql', false, 'Add 
profiling table' );
-               }
-       }
-
        protected function doMaybeProfilingMemoryUpdate() {
                if ( !$this->doTable( 'profiling' ) ) {
                        return true;
diff --git a/includes/installer/SqliteUpdater.php 
b/includes/installer/SqliteUpdater.php
index ab5ab7d..91cbb04 100644
--- a/includes/installer/SqliteUpdater.php
+++ b/includes/installer/SqliteUpdater.php
@@ -168,11 +168,4 @@
                        $this->output( "...fulltext search table appears to be 
in order.\n" );
                }
        }
-
-       protected function doEnableProfiling() {
-               global $wgProfileToDatabase;
-               if ( $wgProfileToDatabase === true && !$this->db->tableExists( 
'profiling', __METHOD__ ) ) {
-                       $this->applyPatch( 'patch-profiling.sql', false, 'Add 
profiling table' );
-               }
-       }
 }
diff --git a/profileinfo.php b/profileinfo.php
index b930f42..4e3fb5a 100644
--- a/profileinfo.php
+++ b/profileinfo.php
@@ -27,7 +27,7 @@
 
 ini_set( 'zlib.output_compression', 'off' );
 
-$wgEnableProfileInfo = $wgProfileToDatabase = false;
+$wgEnableProfileInfo = false;
 require __DIR__ . '/includes/WebStart.php';
 
 header( 'Content-Type: text/html; charset=utf-8' );
@@ -149,8 +149,8 @@
 
 if ( !$dbr->tableExists( 'profiling' ) ) {
        echo '<p>No <code>profiling</code> table exists, so we can\'t show you 
anything.</p>'
-               . '<p>If you want to log profiling data, enable 
<code>$wgProfileToDatabase</code>'
-               . ' in your LocalSettings.php and run 
<code>maintenance/update.php</code> to'
+               . '<p>If you want to log profiling data, enable 
<code>$wgProfiler[\'output\'] = \'db\'</code>'
+               . ' in your StartProfiler.php and run 
<code>maintenance/update.php</code> to'
                . ' create the profiling table.'
                . '</body></html>';
        exit( 1 );
diff --git a/tests/phpunit/includes/db/DatabaseSqliteTest.php 
b/tests/phpunit/includes/db/DatabaseSqliteTest.php
index 98b4ca0..588e544 100644
--- a/tests/phpunit/includes/db/DatabaseSqliteTest.php
+++ b/tests/phpunit/includes/db/DatabaseSqliteTest.php
@@ -272,7 +272,7 @@
         * @todo Currently only checks list of tables
         */
        public function testUpgrades() {
-               global $IP, $wgVersion, $wgProfileToDatabase;
+               global $IP, $wgVersion, $wgProfiler;
 
                // Versions tested
                $versions = array(
@@ -291,7 +291,18 @@
 
                $currentDB = new DatabaseSqliteStandalone( ':memory:' );
                $currentDB->sourceFile( "$IP/maintenance/tables.sql" );
-               if ( $wgProfileToDatabase ) {
+
+               $profileToDb = false;
+               if ( isset( $wgProfiler['output'] ) ) {
+                       $out = $wgProfiler['output'];
+                       if ( $out === 'db' ) {
+                               $profileToDb = true;
+                       } elseif( is_array( $out ) && in_array( 'db', $out ) ) {
+                               $profileToDb = true;
+                       }
+               }
+
+               if ( $profileToDb ) {
                        $currentDB->sourceFile( 
"$IP/maintenance/sqlite/archives/patch-profiling.sql" );
                }
                $currentTables = $this->getTables( $currentDB );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I36565e2372db2ed49b219cf533ec433e8111c52f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Chad <[email protected]>

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

Reply via email to