From ee57ddd0b78d83afeeded76057177e990fff9fa4 Mon Sep 17 00:00:00 2001 From: Bart Visscher Date: Mon, 25 Feb 2013 08:48:28 +0100 Subject: [PATCH] Rewrite query for numRows function for SELECT queries --- lib/db.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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(); + } } /** -- 2.39.5