@@ 176-182 (lines=7) @@ | ||
173 | return 'ALTER TABLE test ADD FOREIGN KEY (fk_name_id) REFERENCES other_table (id)'; |
|
174 | } |
|
175 | ||
176 | public function testModifyLimitQuery() |
|
177 | { |
|
178 | $querySql = 'SELECT * FROM user'; |
|
179 | $alteredSql = 'SELECT TOP 10 * FROM user'; |
|
180 | $sql = $this->_platform->modifyLimitQuery($querySql, 10, 0); |
|
181 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
182 | } |
|
183 | ||
184 | public function testModifyLimitQueryWithEmptyOffset() |
|
185 | { |
|
@@ 184-190 (lines=7) @@ | ||
181 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
182 | } |
|
183 | ||
184 | public function testModifyLimitQueryWithEmptyOffset() |
|
185 | { |
|
186 | $querySql = 'SELECT * FROM user'; |
|
187 | $alteredSql = 'SELECT TOP 10 * FROM user'; |
|
188 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
189 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
190 | } |
|
191 | ||
192 | public function testModifyLimitQueryWithOffset() |
|
193 | { |
|
@@ 205-212 (lines=8) @@ | ||
202 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 6, 15), $sql); |
|
203 | } |
|
204 | ||
205 | public function testModifyLimitQueryWithAscOrderBy() |
|
206 | { |
|
207 | $querySql = 'SELECT * FROM user ORDER BY username ASC'; |
|
208 | $alteredSql = 'SELECT TOP 10 * FROM user ORDER BY username ASC'; |
|
209 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
210 | ||
211 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
212 | } |
|
213 | ||
214 | public function testModifyLimitQueryWithLowercaseOrderBy() |
|
215 | { |
|
@@ 214-220 (lines=7) @@ | ||
211 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
212 | } |
|
213 | ||
214 | public function testModifyLimitQueryWithLowercaseOrderBy() |
|
215 | { |
|
216 | $querySql = 'SELECT * FROM user order by username'; |
|
217 | $alteredSql = 'SELECT TOP 10 * FROM user order by username'; |
|
218 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
219 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
220 | } |
|
221 | ||
222 | public function testModifyLimitQueryWithDescOrderBy() |
|
223 | { |
|
@@ 222-228 (lines=7) @@ | ||
219 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
220 | } |
|
221 | ||
222 | public function testModifyLimitQueryWithDescOrderBy() |
|
223 | { |
|
224 | $querySql = 'SELECT * FROM user ORDER BY username DESC'; |
|
225 | $alteredSql = 'SELECT TOP 10 * FROM user ORDER BY username DESC'; |
|
226 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
227 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
228 | } |
|
229 | ||
230 | public function testModifyLimitQueryWithMultipleOrderBy() |
|
231 | { |
|
@@ 230-236 (lines=7) @@ | ||
227 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
228 | } |
|
229 | ||
230 | public function testModifyLimitQueryWithMultipleOrderBy() |
|
231 | { |
|
232 | $querySql = 'SELECT * FROM user ORDER BY username DESC, usereamil ASC'; |
|
233 | $alteredSql = 'SELECT TOP 10 * FROM user ORDER BY username DESC, usereamil ASC'; |
|
234 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
235 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
236 | } |
|
237 | ||
238 | public function testModifyLimitQueryWithSubSelect() |
|
239 | { |
|
@@ 238-244 (lines=7) @@ | ||
235 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
236 | } |
|
237 | ||
238 | public function testModifyLimitQueryWithSubSelect() |
|
239 | { |
|
240 | $querySql = 'SELECT * FROM (SELECT u.id as uid, u.name as uname) dctrn_result'; |
|
241 | $alteredSql = 'SELECT TOP 10 * FROM (SELECT u.id as uid, u.name as uname) dctrn_result'; |
|
242 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
243 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
244 | } |
|
245 | ||
246 | public function testModifyLimitQueryWithSubSelectAndOrder() |
|
247 | { |
|
@@ 281-287 (lines=7) @@ | ||
278 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 6, 15), $sql); |
|
279 | } |
|
280 | ||
281 | public function testModifyLimitQueryWithFromColumnNames() |
|
282 | { |
|
283 | $querySql = 'SELECT a.fromFoo, fromBar FROM foo'; |
|
284 | $alteredSql = 'SELECT TOP 10 a.fromFoo, fromBar FROM foo'; |
|
285 | $sql = $this->_platform->modifyLimitQuery($querySql, 10); |
|
286 | self::assertEquals(sprintf(self::$selectFromCtePattern, $alteredSql, 1, 10), $sql); |
|
287 | } |
|
288 | ||
289 | /** |
|
290 | * @group DBAL-927 |