]> source.dussan.org Git - nextcloud-server.git/commitdiff
Rewrite query for numRows function for SELECT queries
authorBart Visscher <bartv@thisnet.nl>
Mon, 25 Feb 2013 07:48:28 +0000 (08:48 +0100)
committerBart Visscher <bartv@thisnet.nl>
Sun, 17 Mar 2013 13:32:14 +0000 (14:32 +0100)
lib/db.php

index 49eeeea430cedb1e2c5649afa3e0e973745e7088..379cb342db5abe286bed9fdbe7b00ef6c2355e74 100644 (file)
@@ -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();
+               }
        }
 
        /**