diff options
| -rw-r--r-- | HISTORY | 3 | ||||
| -rw-r--r-- | demos/sqlmap/protected/pages/Manual/DataMapperAPI.page | 14 | ||||
| -rw-r--r-- | framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php | 10 | ||||
| -rw-r--r-- | framework/Data/SqlMap/TSqlMapGateway.php | 10 | 
4 files changed, 25 insertions, 12 deletions
@@ -9,10 +9,11 @@ BUG: Ticket#859 - errorhandler error (stever)  BUG: Ticket#860 - Prado::localize() bug (japplegame)  BUG: Ticket#870 - Callback with redirect breaks lifecycle of page (stever)  BUG: Ticket#872 - use PATH_SEPARATOR in phpunit.php (fragmaster b) +BUG: Ticket#886 - TSimpleDateFormatter: One month offset in time stamp with date pattern "yyyy" (Knut)  ENH: Added Prado.Validation.validateControl(id) on client side to validate a specific control (Michael)  ENH: Added MessageSource_Database to I18N (uses TDbConnection) (Michael) +ENH: Ticket#893 - Added page parameter to queryForPagedList() to specify the initial page to load (Michael)  CHG: Ticket#844 - Upgraded TinyMCE to 3.1.0.1 (Christophe) -BUG: Ticket#886 - TSimpleDateFormatter: One month offset in time stamp with date pattern "yyyy" (Knut)  Version 3.1.2 April 21, 2008  ============================ diff --git a/demos/sqlmap/protected/pages/Manual/DataMapperAPI.page b/demos/sqlmap/protected/pages/Manual/DataMapperAPI.page index 8f0b66a4..fb9552a3 100644 --- a/demos/sqlmap/protected/pages/Manual/DataMapperAPI.page +++ b/demos/sqlmap/protected/pages/Manual/DataMapperAPI.page @@ -9,7 +9,7 @@ the DataMapper framework. The DataMapper API methods are shown below.</p>  public function queryForObject($statementName, $parameter=null, $result=null);
  public function queryForList($statementName, $parameter=null, $result=null,
                                     $skip=-1, $max=-1);
 -public function queryForPagedList($statementName, $parameter=null, $pageSize=10);
 +public function queryForPagedList($statementName, $parameter=null, $pageSize=10, $page=0);
  public function queryForMap($statementName, $parameter=null,
                                     $keyProperty=null, $valueProperty=null);
  public function insert($statementName, $parameter=null)
 @@ -78,7 +78,7 @@ point) and the maximum number to return.</p>  <h2>QueryForPagedList</h2>
  <com:TTextHighlighter Language="php" CssClass="source">
 - public function queryForPagedList($statementName, $parameter=null, $pageSize=10);
 + public function queryForPagedList($statementName, $parameter=null, $pageSize=10, $page);
  </com:TTextHighlighter>
  <p>We live in an age of information overflow. A database query often returns more
 @@ -107,6 +107,14 @@ want to use a stored procedure or your own query that uses <tt>$skip</tt> and  <tt>$max</tt> as parameters in <tt>queryForList</tt>.
  </div>
 +<div class="tip"><b class="tip">Tip:</b>
 +The <tt>$page</tt> parameter was introduced in 3.1.3. Before there was an additional
 +query to always fetch the data for page 0 on object creation. Since this 
 +might be a problem in performance critical situations with 3.1.2, you might be better 
 +of also using <tt>queryForList</tt> with <tt>$skip</tt> and <tt>$max</tt> instead.
 +</div>
 +
 +
  <h2>QueryForMap</h2>
  <com:TTextHighlighter Language="php" CssClass="source">
  public function queryForMap($statementName, $parameter=null,
 @@ -159,4 +167,4 @@ catch  }
  </com:TTextHighlighter>
 -</com:TContent>
\ No newline at end of file +</com:TContent>
 diff --git a/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php b/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php index a52e9a39..b3a88653 100644 --- a/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php +++ b/framework/Data/SqlMap/DataMapper/TSqlMapPagedList.php @@ -41,12 +41,13 @@ class TSqlMapPagedList extends TPagedList  	 * @param mixed query parameters
  	 * @param int page size
  	 * @param mixed delegate for each data row retrieved.
 +	 * @param int number of page to fetch on initialization
  	 */
 -	public function __construct(IMappedStatement $statement,$parameter, $pageSize, $delegate=null)
 +	public function __construct(IMappedStatement $statement,$parameter, $pageSize, $delegate=null, $page=0)
  	{
  		parent::__construct();
  		parent::setCustomPaging(true);
 -		$this->initialize($statement,$parameter, $pageSize);
 +		$this->initialize($statement,$parameter, $pageSize, $page);
  		$this->_delegate=$delegate;
  	}
 @@ -55,14 +56,15 @@ class TSqlMapPagedList extends TPagedList  	 * @param IMappedStatement SqlMap statement.
  	 * @param mixed query parameters
  	 * @param int page size.
 +	 * @param int number of page.
  	 */
 -	protected function initialize($statement, $parameter, $pageSize)
 +	protected function initialize($statement, $parameter, $pageSize, $page)
  	{
  		$this->_statement = $statement;
  		$this->_parameter = $parameter;
  		$this->setPageSize($pageSize);
  		$this->attachEventHandler('OnFetchData', array($this, 'fetchDataFromStatement'));
 -		$this->gotoPage(0);
 +		$this->gotoPage($page);
  	}
  	/**
 diff --git a/framework/Data/SqlMap/TSqlMapGateway.php b/framework/Data/SqlMap/TSqlMapGateway.php index fcd7d216..dd7c2069 100644 --- a/framework/Data/SqlMap/TSqlMapGateway.php +++ b/framework/Data/SqlMap/TSqlMapGateway.php @@ -122,12 +122,13 @@ class TSqlMapGateway extends TComponent  	 * @param string The name of the sql statement to execute.
  	 * @param mixed The object used to set the parameters in the SQL.
  	 * @param integer The maximum number of objects to store in each page.
 +	 * @param integer The number of the page to initially load into the list.  	 * @return TPagedList A PaginatedList of beans containing the rows.
  	 */
 -	public function queryForPagedList($statementName, $parameter=null, $pageSize=10)
 +	public function queryForPagedList($statementName, $parameter=null, $pageSize=10, $page=0)
  	{
  		$statement = $this->getSqlMapManager()->getMappedStatement($statementName);
 -		return new TSqlMapPagedList($statement, $parameter, $pageSize);
 +		return new TSqlMapPagedList($statement, $parameter, $pageSize, null, $page);
  	}
  	/**
 @@ -142,12 +143,13 @@ class TSqlMapGateway extends TComponent  	 * @param callback Row delegate handler, a valid callback required.
  	 * @param mixed The object used to set the parameters in the SQL.
  	 * @param integer The maximum number of objects to store in each page.
 +	 * @param integer The number of the page to initially load into the list.  	 * @return TPagedList A PaginatedList of beans containing the rows.
  	 */
 -	public function queryForPagedListWithRowDelegate($statementName,$delegate, $parameter=null, $pageSize=10)
 +	public function queryForPagedListWithRowDelegate($statementName,$delegate, $parameter=null, $pageSize=10, $page=0)
  	{
  		$statement = $this->getSqlMapManager()->getMappedStatement($statementName);
 -		return new TSqlMapPagedList($statement, $parameter, $pageSize, $delegate);
 +		return new TSqlMapPagedList($statement, $parameter, $pageSize, $delegate,$page);
  	}
  | 
