From: Roland Mas Date: Thu, 14 Jun 2012 14:24:35 +0000 (+0000) Subject: Merged from Evolvis: Mediawiki: more wrappers, to help with upgrades X-Git-Tag: v5_2_rc2~158 X-Git-Url: https://scm.fusionforge.org/anonscm/gitweb?p=fusionforge%2Ffusionforge.git;a=commitdiff_plain;h=3780d1889944cc2b17403341a33f0164630a02a5 Merged from Evolvis: Mediawiki: more wrappers, to help with upgrades --- diff --git a/src/plugins/mediawiki/www/LocalSettings.php b/src/plugins/mediawiki/www/LocalSettings.php index 38599f2ded..924025c18d 100644 --- a/src/plugins/mediawiki/www/LocalSettings.php +++ b/src/plugins/mediawiki/www/LocalSettings.php @@ -86,6 +86,23 @@ class DatabaseForge extends DatabasePostgres { $password, $dbName, $failFunction, $flags); } + function fieldInfo($table, $field) { + switch ($table) { + case 'interwiki': + break; + default: + return DatabasePostgres::fieldInfo($table, $field); + } + + global $wgDBmwschema; + + $save_wgDBmwschema = $wgDBmwschema; + $wgDBmwschema = 'public'; + $v = DatabasePostgres::fieldInfo($table, $field); + $wgDBmwschema = $save_wgDBmwschema; + return $v; + } + function open($server, $user, $password, $dbName) { $v = DatabasePostgres::open($server, $user, $password, $dbName); @@ -98,13 +115,31 @@ class DatabaseForge extends DatabasePostgres { return $v; } + function query($sql, $fname='', $tempIgnore=false) { + /* ugh! */ + $chk = "ALTER TABLE interwiki "; + $csz = strlen($chk); + if (substr($sql, 0, $csz) == $chk) { + $sql = "ALTER TABLE public.interwiki " . + substr($sql, $csz); + } + return DatabasePostgres::query($sql, $fname,$tempIgnore); + } + function tableName($name, $format='quoted') { + global $wgDBmwschema; + switch ($name) { case 'interwiki': - return 'public.interwiki'; + $v = 'interwiki'; default: return DatabasePostgres::tableName($name, $format); } + + if ($wgDBmwschema != 'public') { + $v = 'public.' . $v; + } + return $v; } }