From: Bart Visscher Date: Mon, 25 Feb 2013 07:48:28 +0000 (+0100) Subject: Rewrite query for numRows function for SELECT queries X-Git-Tag: v6.0.0alpha2~444^2~36 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ee57ddd0b78d83afeeded76057177e990fff9fa4;p=nextcloud-server.git Rewrite query for numRows function for SELECT queries --- diff --git a/lib/db.php b/lib/db.php index 49eeeea430c..379cb342db5 100644 --- a/lib/db.php +++ b/lib/db.php @@ -661,7 +661,14 @@ class DoctrineStatementWrapper { * provide numRows */ public function numRows() { - return $this->statement->rowCount(); + $regex = '/^SELECT\s+(?:ALL\s+|DISTINCT\s+)?(?:.*?)\s+FROM\s+(.*)$/i'; + $queryString = $this->statement->getWrappedStatement()->queryString; + if (preg_match($regex, $queryString, $output) > 0) { + $query = OC_DB::prepare("SELECT COUNT(*) FROM {$output[1]}", PDO::FETCH_NUM); + return $query->execute($this->lastArguments)->fetchColumn(); + }else{ + return $this->statement->rowCount(); + } } /**