[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