[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