Browse Source

Merge pull request #20050 from nextcloud/bugfix/noid/mysql-equal-trims-shock

Make sure MySQL is not saying 'this' = 'this ' is true
Morris Jobke 4 years ago
parent
commit
c43174a7e6

+ 8 - 0
lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php

@@ -52,4 +52,12 @@ class MySqlExpressionBuilder extends ExpressionBuilder {
 		$y = $this->helper->quoteColumnName($y);
 		return $this->expressionBuilder->comparison($x, ' COLLATE ' . $this->charset . '_general_ci LIKE', $y);
 	}
+
+	public function eq($x, $y, $type = null) {
+		return 'BINARY ' . parent::eq($x, $y, $type);
+	}
+
+	public function neq($x, $y, $type = null) {
+		return 'BINARY ' . parent::neq($x, $y, $type);
+	}
 }

+ 1 - 1
lib/private/User/Manager.php

@@ -188,7 +188,7 @@ class Manager extends PublicEmitter implements IUserManager {
 	 */
 	public function userExists($uid) {
 		$user = $this->get($uid);
-		return ($user !== null);
+		return $user !== null && $user->getUID() === $uid;
 	}
 
 	/**