* suggestion for using tables.sql parsing instead of database query for tables list...
authorJure Kajzer <freakolowsky@users.mediawiki.org>
Fri, 3 Jun 2011 11:43:54 +0000 (11:43 +0000)
committerJure Kajzer <freakolowsky@users.mediawiki.org>
Fri, 3 Jun 2011 11:43:54 +0000 (11:43 +0000)
* would be better option IMO since the database is not necesserally dedicated to MW install

includes/db/Database.php

index b26970e..85e3b13 100644 (file)
@@ -2445,7 +2445,12 @@ abstract class DatabaseBase implements DatabaseType {
         * @param $fname String: calling function name
         */
        function listTables( $prefix = null, $fname = 'DatabaseBase::listTables' ) {
-               throw new MWException( 'DatabaseBase::listTables is not implemented in descendant class' );
+               global $IP;
+               //throw new MWException( 'DatabaseBase::listTables is not implemented in descendant class' );
+               $tables = file_get_contents( "$IP/maintenance/tables.sql" );
+               preg_match_all('/create table \/\*_\*\/([a-z0-9_]*)/i', $tables, $matches, PREG_PATTERN_ORDER);
+               
+               return $matches[1];
        }
 
        /**