[limb-svn] r6803 - in 3.x/trunk/limb/dbal: src/drivers src/drivers/mysql src/drivers/oci src/drivers/pgsql src/drivers/sqlite tests/cases/driver
svn at limb-project.com
svn at limb-project.com
Wed Feb 20 15:16:17 MSK 2008
Author: serega
Date: 2008-02-20 15:16:17 +0300 (Wed, 20 Feb 2008)
New Revision: 6803
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6803
Modified:
3.x/trunk/limb/dbal/src/drivers/lmbDbBaseRecordSet.class.php
3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php
3.x/trunk/limb/dbal/src/drivers/oci/lmbOciRecordSet.class.php
3.x/trunk/limb/dbal/src/drivers/pgsql/lmbPgsqlRecordSet.class.php
3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php
3.x/trunk/limb/dbal/tests/cases/driver/DriverRecordSetTestBase.class.php
Log:
-- fixed a bug with db record sets: they cache prev. results even if paginate() was called between two rewinds().
Modified: 3.x/trunk/limb/dbal/src/drivers/lmbDbBaseRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/lmbDbBaseRecordSet.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/src/drivers/lmbDbBaseRecordSet.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -16,6 +16,7 @@
*/
abstract class lmbDbBaseRecordSet implements lmbDbRecordSet
{
+ protected $queryId;
protected $offset;
protected $limit;
protected $sort_params;
@@ -24,6 +25,7 @@
{
$this->offset = (int)$offset;
$this->limit = (int)$limit;
+ $this->freeQuery();
return $this;
}
Modified: 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/src/drivers/mysql/lmbMysqlRecordSet.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -17,7 +17,6 @@
*/
class lmbMysqlRecordSet extends lmbDbBaseRecordSet
{
- protected $queryId;
protected $query;
protected $connection;
Modified: 3.x/trunk/limb/dbal/src/drivers/oci/lmbOciRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/oci/lmbOciRecordSet.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/src/drivers/oci/lmbOciRecordSet.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -17,7 +17,6 @@
*/
class lmbOciRecordSet extends lmbDbBaseRecordSet
{
- protected $queryId;
protected $query;
protected $original_stmt;
protected $stmt;
@@ -39,8 +38,7 @@
function paginate($offset, $limit)
{
- $this->offset = $offset;
- $this->limit = $limit;
+ parent :: paginate($offset, $limit);
$this->need_pager = true;
return $this;
}
Modified: 3.x/trunk/limb/dbal/src/drivers/pgsql/lmbPgsqlRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/pgsql/lmbPgsqlRecordSet.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/src/drivers/pgsql/lmbPgsqlRecordSet.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -18,7 +18,6 @@
*/
class lmbPgsqlRecordSet extends lmbDbBaseRecordSet
{
- protected $queryId;
protected $query;
protected $connection;
Modified: 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/src/drivers/sqlite/lmbSqliteRecordSet.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -17,7 +17,6 @@
*/
class lmbSqliteRecordSet extends lmbDbBaseRecordSet
{
- protected $queryId;
protected $query;
protected $connection;
Modified: 3.x/trunk/limb/dbal/tests/cases/driver/DriverRecordSetTestBase.class.php
===================================================================
--- 3.x/trunk/limb/dbal/tests/cases/driver/DriverRecordSetTestBase.class.php 2008-02-18 21:05:10 UTC (rev 6802)
+++ 3.x/trunk/limb/dbal/tests/cases/driver/DriverRecordSetTestBase.class.php 2008-02-20 12:16:17 UTC (rev 6803)
@@ -73,6 +73,15 @@
$this->assertEqual($i, 2);
}
+ function testPaganationAfterIterating()
+ {
+ for($this->cursor->rewind(), $i = 0; $this->cursor->valid(); $this->cursor->next(), $i++);
+ $this->assertEqual($i, 3);
+ $this->cursor->paginate($offset = 0, $limit = 2);
+ for($this->cursor->rewind(), $i = 0; $this->cursor->valid(); $this->cursor->next(), $i++);
+ $this->assertEqual($i, 2);
+ }
+
function testPagerIterationPassingStringInsteadOfNumber()
{
$this->cursor->paginate($offset = ';Select * FROM some_table', $limit = 2);
More information about the limb-svn
mailing list