Let Database do the quoting of the 'group' table, so that prefixed tables will work.
authorBrion Vibber <brion@users.mediawiki.org>
Sun, 24 Oct 2004 22:02:02 +0000 (22:02 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Sun, 24 Oct 2004 22:02:02 +0000 (22:02 +0000)
includes/Database.php
includes/DatabasePostgreSQL.php
includes/Group.php
includes/SpecialUserlevels.php

index 0fcb4e9..75440d6 100644 (file)
@@ -951,6 +951,9 @@ class Database {
                if ( isset( $wgSharedDB ) && 'user' == $name ) {
                        $name = $wgSharedDB . '.' . $name;
                }
+               if( $name == 'group' ) {
+                       $name = '`' . $name . '`';
+               }
                return $name;
        }
 
index acaf7e2..e025761 100644 (file)
@@ -247,9 +247,10 @@ class DatabasePgsql extends Database {
                # Now quote PG reserved keywords
                switch( $name ) {
                        case 'user':
-                               return '"user"';
                        case 'old':
-                               return '"old"';
+                       case 'group':
+                               return '"' . $name . '"';
+                       
                        default:
                                return $name;
                }
index 6c02ecd..e9d8da0 100644 (file)
@@ -49,7 +49,7 @@ class Group {
                
                if($this->id) {
                        $dbr =& wfGetDB( DB_SLAVE );
-                       $r = $dbr->selectRow('`group`', array('group_id', 'group_name', 'group_description', 'group_rights'), array( 'group_id' => $this->id ), $fname );
+                       $r = $dbr->selectRow('group', array('group_id', 'group_name', 'group_description', 'group_rights'), array( 'group_id' => $this->id ), $fname );
                        $this->id = $r->group_id;
                        $this->name = $r->group_name;
                        $this->description = $r->group_description;
@@ -57,7 +57,7 @@ class Group {
                        $this->dataLoaded = true;
                } else {
                        $dbr =& wfGetDB( DB_SLAVE );
-                       $r = $dbr->selectRow('`group`', array('group_id', 'group_name', 'group_description', 'group_rights'), array( 'group_name' => $this->name ), $fname );
+                       $r = $dbr->selectRow('group', array('group_id', 'group_name', 'group_description', 'group_rights'), array( 'group_name' => $this->name ), $fname );
                        $this->id = $r->group_id;
                        $this->name = $r->group_name;
                        $this->description = $r->group_description;
@@ -70,7 +70,7 @@ class Group {
        function addToDatabase() {
                $fname = 'Group::addToDatabase';
                $dbw =& wfGetDB( DB_MASTER );
-               $dbw->insert( '`group`',
+               $dbw->insert( 'group',
                        array(
                                'group_name' => $this->name,
                                'group_description' => $this->description,
@@ -87,7 +87,7 @@ class Group {
 
                $dbw =& wfGetDB( DB_MASTER );
                
-               $dbw->update( '`group`',
+               $dbw->update( 'group',
                        array( /* SET */
                                'group_name' => $this->name,
                                'group_description' => $this->description,
@@ -131,7 +131,7 @@ class Group {
        function nameFromId($id) {
                $fname = 'Group::nameFromId';
                $dbr =& wfGetDB( DB_SLAVE );
-               $r = $dbr->selectRow( '`group`', array( 'group_name' ), array( 'group_id' => $id ), $fname );
+               $r = $dbr->selectRow( 'group', array( 'group_name' ), array( 'group_id' => $id ), $fname );
                
                if($r === false) {
                        return '';
@@ -147,7 +147,7 @@ class Group {
        function idFromName($name) {
                $fname = 'Group::idFromName';
                $dbr =& wfGetDB( DB_SLAVE );
-               $r = $dbr->selectRow( '`group`', array( 'group_id' ), array( 'group_name' => $name ), $fname );
+               $r = $dbr->selectRow( 'group', array( 'group_id' ), array( 'group_name' => $name ), $fname );
 
                if($r === false) {
                        return 0;
index f68b281..c4e0a08 100644 (file)
@@ -249,7 +249,8 @@ class UserlevelsForm extends HTMLForm {
        function HTMLSelectGroups($selectname, $selected=array(), $multiple=false, $size=6, $reverse=false) {
                $selectname = $this->mName.'-'.$selectname;
                $dbr =& wfGetDB( DB_SLAVE );
-               $sql = 'SELECT group_id, group_name FROM `group`';
+               $group = $dbr->tableName( 'group' );
+               $sql = 'SELECT group_id, group_name FROM $group';
                $res = $dbr->query($sql,'wfSpecialAdmin');
                
                $out = wfMsg($selectname);