53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @package awf
|
|
* @copyright Copyright (c)2014-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
|
|
* @license GNU GPL version 3 or later
|
|
*/
|
|
|
|
namespace Awf\Database;
|
|
|
|
/**
|
|
* Database Query Limitable Interface.
|
|
* Adds bind/unbind methods as well as a getBounded() method
|
|
* to retrieve the stored bounded variables on demand prior to
|
|
* query execution.
|
|
*
|
|
* This class is adapted from the Joomla! Framework
|
|
*
|
|
* @codeCoverageIgnore
|
|
*/
|
|
interface QueryLimitable
|
|
{
|
|
/**
|
|
* Method to modify a query already in string format with the needed
|
|
* additions to make the query limited to a particular number of
|
|
* results, or start at a particular offset. This method is used
|
|
* automatically by the __toString() method if it detects that the
|
|
* query implements the QueryLimitable interface.
|
|
*
|
|
* @param string $query The query in string format
|
|
* @param integer $limit The limit for the result set
|
|
* @param integer $offset The offset for the result set
|
|
*
|
|
* @return string
|
|
*
|
|
*/
|
|
public function processLimit($query, $limit, $offset = 0);
|
|
|
|
/**
|
|
* Sets the offset and limit for the result set, if the database driver supports it.
|
|
*
|
|
* Usage:
|
|
* $query->setLimit(100, 0); (retrieve 100 rows, starting at first record)
|
|
* $query->setLimit(50, 50); (retrieve 50 rows, starting at 50th record)
|
|
*
|
|
* @param integer $limit The limit for the result set
|
|
* @param integer $offset The offset for the result set
|
|
*
|
|
* @return Query Returns this object to allow chaining.
|
|
*
|
|
*/
|
|
public function setLimit($limit = 0, $offset = 0);
|
|
}
|