[limb-svn] r6891 - in 3.x/trunk/limb/dbal: src/drivers/mysql src/drivers/sqlite tests/cases/non-driver/query

svn at limb-project.com svn at limb-project.com
Wed Apr 2 01:44:38 MSD 2008


Author: pachanga
Date: 2008-04-02 01:44:38 +0400 (Wed, 02 Apr 2008)
New Revision: 6891
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6891

Modified:
   3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php
   3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php
   3.x/trunk/limb/dbal/tests/cases/non-driver/query/lmbSelectRawQueryTest.class.php
Log:
-- fixing sqlite lmbSqliteRecordSet::count()

Modified: 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php	2008-04-01 21:21:56 UTC (rev 6890)
+++ 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php	2008-04-01 21:44:38 UTC (rev 6891)
@@ -134,7 +134,8 @@
 
   function count()
   {
-    if(!(preg_match("/^\s*SELECT\s+DISTINCT/is", $this->query) || preg_match('/\s+GROUP\s+BY\s+/is',$this->query)) && preg_match("/^\s*SELECT\s+.+\s+FROM\s+/Uis", $this->query))
+    if(!(preg_match("/^\s*SELECT\s+DISTINCT/is", $this->query) || preg_match('/\s+GROUP\s+BY\s+/is', $this->query)) && 
+       preg_match("/^\s*SELECT\s+.+\s+FROM\s+/Uis", $this->query))
     {
       $rewritesql = preg_replace('/^\s*SELECT\s.*\s+FROM\s/Uis','SELECT COUNT(*) FROM ', $this->query);
       $rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','', $rewritesql);

Modified: 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php	2008-04-01 21:21:56 UTC (rev 6890)
+++ 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php	2008-04-01 21:44:38 UTC (rev 6891)
@@ -130,7 +130,8 @@
 
   function count()
   {
-    if(!(preg_match("/^\s*SELECT\s+DISTINCT/is", $this->query) || preg_match('/\s+GROUP\s+BY\s+/is',$this->query)))
+    if(!(preg_match("/^\s*SELECT\s+DISTINCT/is", $this->query) || preg_match('/\s+GROUP\s+BY\s+/is',$this->query)) &&
+       preg_match("/^\s*SELECT\s+.+\s+FROM\s+/Uis", $this->query))
     {
       $rewritesql = preg_replace('/^\s*SELECT\s.*\s+FROM\s/Uis','SELECT COUNT(*) FROM ', $this->query);
       $rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','', $rewritesql);

Modified: 3.x/trunk/limb/dbal/tests/cases/non-driver/query/lmbSelectRawQueryTest.class.php
===================================================================
--- 3.x/trunk/limb/dbal/tests/cases/non-driver/query/lmbSelectRawQueryTest.class.php	2008-04-01 21:21:56 UTC (rev 6890)
+++ 3.x/trunk/limb/dbal/tests/cases/non-driver/query/lmbSelectRawQueryTest.class.php	2008-04-01 21:44:38 UTC (rev 6891)
@@ -501,21 +501,17 @@
                       "WHERE id=2 GROUP BY 'id' HAVING id=1 ORDER BY 'id' desc");
   }
 
-  function testFetchUsingDefaultConnection()
+  function testQueryWithoutWhere()
   {
-    $sql = new lmbSelectRawQuery('SELECT 1=1');
+    $sql = new lmbSelectRawQuery('SELECT 2', lmbToolkit :: instance()->getDefaultDbConnection());
     $rs = $sql->fetch();
     $this->assertEqual($rs->count(), 1);
-    $this->assertEqual($rs[0], true);
   }
-  
-  function testCountUsingDefaultConnection()
+
+  function testQueryWithoutWhereUsingDefaultConnection()
   {
-    $sql = new lmbSelectRawQuery('SELECT 2');
+    $sql = new lmbSelectRawQuery('SELECT 1=1');
     $rs = $sql->fetch();
     $this->assertEqual($rs->count(), 1);
-    $this->assertEqual($rs[0], true);
   }
-  
 }
-



More information about the limb-svn mailing list