| @@ 48-65 (lines=18) @@ | ||
| 45 | * |
|
| 46 | * @link http://dev.mysql.com/doc/refman/5.0/en/select.html#id4651990 |
|
| 47 | */ |
|
| 48 | protected function compileLimit(int $limit, int $offset): string |
|
| 49 | { |
|
| 50 | if (empty($limit) && empty($offset)) { |
|
| 51 | return ''; |
|
| 52 | } |
|
| 53 | ||
| 54 | $statement = ''; |
|
| 55 | if (!empty($limit) || !empty($offset)) { |
|
| 56 | //When limit is not provided but offset does we can replace limit value with PHP_INT_MAX |
|
| 57 | $statement = 'LIMIT ' . ($limit ?: '18446744073709551615') . ' '; |
|
| 58 | } |
|
| 59 | ||
| 60 | if (!empty($offset)) { |
|
| 61 | $statement .= "OFFSET {$offset}"; |
|
| 62 | } |
|
| 63 | ||
| 64 | return trim($statement); |
|
| 65 | } |
|
| 66 | ||
| 67 | /** |
|
| 68 | * Resolve operator value based on value value. ;). |
|
| @@ 52-69 (lines=18) @@ | ||
| 49 | * |
|
| 50 | * @link http://stackoverflow.com/questions/10491492/sqllite-with-skip-offset-only-not-limit |
|
| 51 | */ |
|
| 52 | protected function compileLimit(int $limit, int $offset): string |
|
| 53 | { |
|
| 54 | if (empty($limit) && empty($offset)) { |
|
| 55 | return ''; |
|
| 56 | } |
|
| 57 | ||
| 58 | $statement = ''; |
|
| 59 | ||
| 60 | if (!empty($limit) || !empty($offset)) { |
|
| 61 | $statement = 'LIMIT ' . ($limit ?: '-1') . ' '; |
|
| 62 | } |
|
| 63 | ||
| 64 | if (!empty($offset)) { |
|
| 65 | $statement .= "OFFSET {$offset}"; |
|
| 66 | } |
|
| 67 | ||
| 68 | return trim($statement); |
|
| 69 | } |
|
| 70 | } |
|
| 71 | ||