MediaWiki r34388 - Code Review

Jump to: navigation, search
Repository:MediaWiki
Revision:r34387‎ | r34388 (on ViewVC)‎ | r34389 >
Date:18:57, 7 May 2008
Author:catrope
Status:old
Tags:
Comment:
Fixing regression from r34353: using Database::select() for a join messes up in certain cases (puts `s where they don't belong, breaking SQL), but not for all joins. Seems to be related to table aliases, not sure though.
Modified paths:

Diff [purge]

Index: trunk/phase3/includes/api/ApiQueryAllUsers.php
===================================================================
--- trunk/phase3/includes/api/ApiQueryAllUsers.php	(revision 34387)
+++ trunk/phase3/includes/api/ApiQueryAllUsers.php	(revision 34388)
@@ -65,7 +65,7 @@
 		if (!is_null($params['group'])) {
 			// Filter only users that belong to a given group
 			$tblName = $db->tableName('user_groups');
-			$tables = "$tables INNER JOIN $tblName ug1 ON ug1.ug_user=user_id";
+			$tables = "$tables INNER JOIN $tblName ug1 ON `ug1`.`ug_user`=`user_id`";
 			$this->addWhereFld('ug1.ug_group', $params['group']);
 		}
 
@@ -76,7 +76,7 @@
 			$sqlLimit = $limit+$groupCount+1;
 
 			$tblName = $db->tableName('user_groups');
-			$tables = "$tables LEFT JOIN $tblName ug2 ON ug2.ug_user=user_id";
+			$tables = "$tables LEFT JOIN $tblName ug2 ON `ug2`.`ug_user`=`user_id`";
 			$this->addFields('ug2.ug_group ug_group2');
 		} else {
 			$sqlLimit = $limit+1;
Index: trunk/phase3/includes/api/ApiQueryUsers.php
===================================================================
--- trunk/phase3/includes/api/ApiQueryUsers.php	(revision 34387)
+++ trunk/phase3/includes/api/ApiQueryUsers.php	(revision 34388)
@@ -80,13 +80,13 @@
 
 		if(isset($this->prop['groups'])) {
 			$ug = $db->tableName('user_groups');
-			$tables = "$tables LEFT JOIN $ug ON ug_user=u1.user_id";
+			$tables = "$tables LEFT JOIN $ug ON `ug_user`=`u1`.`user_id`";
 			$this->addFields('ug_group');
 		}
 		if(isset($this->prop['blockinfo'])) {
 			$ipb = $db->tableName('ipblocks');
-			$tables = "$tables LEFT JOIN $ipb ON ipb_user=u1.user_id";
-			$tables = "$tables LEFT JOIN $userTable AS u2 ON ipb_by=u2.user_id";
+			$tables = "$tables LEFT JOIN $ipb ON `ipb_user`=`u1`.`user_id`";
+			$tables = "$tables LEFT JOIN $userTable AS u2 ON `ipb_by`=`u2`.`user_id`";
 			$this->addFields(array('ipb_reason', 'u2.user_name AS blocker_name'));
 		}
 		$this->addTables($tables);

Follow-up revisions

Rev.Commit summaryAuthorDate
r34426Reverting r34388, DanTMan fixed Database::select() in r34442.catrope10:05, 8 May 2008

Status & tagging log

  • 15:26, 12 September 2011 Meno25 (Talk | contribs) changed the status of r34388 [removed: ok added: old]
Personal tools
Namespaces
Variants
Views
Actions
Site
Support
Download
Development
Communication
Toolbox