mirror of
https://github.com/nextcloud/server.git
synced 2026-04-21 06:08:46 -04:00
Allow NULL as well for limit, not integer only
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
788a1fcca4
commit
5bb49feef8
4 changed files with 20 additions and 11 deletions
|
|
@ -189,15 +189,20 @@ class Connection extends \Doctrine\DBAL\Connection {
|
|||
* Prepares an SQL statement.
|
||||
*
|
||||
* @param string $statement The SQL statement to prepare.
|
||||
* @param int $limit
|
||||
* @param int $offset
|
||||
* @param int|null $limit
|
||||
* @param int|null $offset
|
||||
*
|
||||
* @return Statement The prepared statement.
|
||||
* @throws Exception
|
||||
*/
|
||||
public function prepare($statement, $limit = null, $offset = null): Statement {
|
||||
if ($limit === -1) {
|
||||
if ($limit === -1 || $limit === null) {
|
||||
$limit = null;
|
||||
} else {
|
||||
$limit = (int) $limit;
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$offset = (int) $offset;
|
||||
}
|
||||
if (!is_null($limit)) {
|
||||
$platform = $this->getDatabasePlatform();
|
||||
|
|
|
|||
|
|
@ -450,12 +450,12 @@ class QueryBuilder implements IQueryBuilder {
|
|||
/**
|
||||
* Sets the position of the first result to retrieve (the "offset").
|
||||
*
|
||||
* @param integer $firstResult The first result to return.
|
||||
* @param int $firstResult The first result to return.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
*/
|
||||
public function setFirstResult($firstResult) {
|
||||
$this->queryBuilder->setFirstResult($firstResult);
|
||||
$this->queryBuilder->setFirstResult((int) $firstResult);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
@ -477,12 +477,16 @@ class QueryBuilder implements IQueryBuilder {
|
|||
* of the databases will just return an empty result set, Oracle will return
|
||||
* all entries.
|
||||
*
|
||||
* @param integer $maxResults The maximum number of results to retrieve.
|
||||
* @param int|null $maxResults The maximum number of results to retrieve.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
*/
|
||||
public function setMaxResults($maxResults) {
|
||||
$this->queryBuilder->setMaxResults($maxResults);
|
||||
if ($maxResults === null) {
|
||||
$this->queryBuilder->setMaxResults($maxResults);
|
||||
} else {
|
||||
$this->queryBuilder->setMaxResults((int) $maxResults);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -280,7 +280,7 @@ interface IQueryBuilder {
|
|||
/**
|
||||
* Sets the position of the first result to retrieve (the "offset").
|
||||
*
|
||||
* @param integer $firstResult The first result to return.
|
||||
* @param int $firstResult The first result to return.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
* @since 8.2.0
|
||||
|
|
@ -299,7 +299,7 @@ interface IQueryBuilder {
|
|||
/**
|
||||
* Sets the maximum number of results to retrieve (the "limit").
|
||||
*
|
||||
* @param integer $maxResults The maximum number of results to retrieve.
|
||||
* @param int|null $maxResults The maximum number of results to retrieve.
|
||||
*
|
||||
* @return $this This QueryBuilder instance.
|
||||
* @since 8.2.0
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ interface IDBConnection {
|
|||
/**
|
||||
* Used to abstract the ownCloud database access away
|
||||
* @param string $sql the sql query with ? placeholder for params
|
||||
* @param int $limit the maximum number of rows
|
||||
* @param int $offset from which row we want to start
|
||||
* @param int|null $limit the maximum number of rows
|
||||
* @param int|null $offset from which row we want to start
|
||||
* @return IPreparedStatement The prepared statement.
|
||||
* @since 6.0.0
|
||||
* @throws Exception since 21.0.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue