Skip to content

Commit a9d9fa0

Browse files
committed
refactor: OCI8 limit() method
1 parent d8be763 commit a9d9fa0

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

system/Database/OCI8/Builder.php

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -214,19 +214,13 @@ protected function _update(string $table, array $values): string
214214
protected function _limit(string $sql, bool $offsetIgnore = false): string
215215
{
216216
$offset = (int) ($offsetIgnore === false ? $this->QBOffset : 0);
217-
if (version_compare($this->db->getVersion(), '12.1', '>=')) {
218-
// OFFSET-FETCH can be used only with the ORDER BY clause
219-
if (empty($this->QBOrderBy)) {
220-
$sql .= ' ORDER BY 1';
221-
}
222217

223-
return $sql . ' OFFSET ' . $offset . ' ROWS FETCH NEXT ' . $this->QBLimit . ' ROWS ONLY';
218+
// OFFSET-FETCH can be used only with the ORDER BY clause
219+
if (empty($this->QBOrderBy)) {
220+
$sql .= ' ORDER BY 1';
224221
}
225222

226-
$this->limitUsed = true;
227-
$limitTemplateQuery = 'SELECT * FROM (SELECT INNER_QUERY.*, ROWNUM RNUM FROM (%s) INNER_QUERY WHERE ROWNUM < %d)' . ($offset !== 0 ? ' WHERE RNUM >= %d' : '');
228-
229-
return sprintf($limitTemplateQuery, $sql, $offset + $this->QBLimit + 1, $offset);
223+
return $sql . ' OFFSET ' . $offset . ' ROWS FETCH NEXT ' . $this->QBLimit . ' ROWS ONLY';
230224
}
231225

232226
/**

0 commit comments

Comments
 (0)