소스 검색

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 년 전
부모
커밋
c43174a7e6
2개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 0
      lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php
  2. 1 1
      lib/private/User/Manager.php

+ 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;
 	}
 
 	/**