diff --git a/src/Processor/Processor.php b/src/Processor/Processor.php index f6c50343..885f2279 100644 --- a/src/Processor/Processor.php +++ b/src/Processor/Processor.php @@ -125,7 +125,7 @@ protected static function applyLimit(?LimitClause $limit, Scope $scope, QueryRes } return new QueryResult( - \array_slice($result->rows, $offset, $rowcount), + \array_slice($result->rows, $offset, $rowcount, true), $result->columns ); } diff --git a/tests/EndToEndTest.php b/tests/EndToEndTest.php index 2187f583..3b6ddf09 100644 --- a/tests/EndToEndTest.php +++ b/tests/EndToEndTest.php @@ -826,18 +826,6 @@ public function testSelectHavingOnAliasField() ); } - public function testSelectWithOffset() - { - $pdo = self::getConnectionToFullDB(false); - $query = $pdo->prepare("SELECT `id` FROM `video_game_characters` ORDER BY `id` LIMIT 10000 OFFSET 1"); - $query->execute(); - - $this->assertSame( - ['id' => 2], - $query->fetch(\PDO::FETCH_ASSOC) - ); - } - public function testLastInsertIdAfterSkippingAutoincrement() { $pdo = self::getConnectionToFullDB(false); @@ -1214,6 +1202,25 @@ public function testSelectNullableFields() $query->fetch(\PDO::FETCH_ASSOC) ); } + + public function testUpdate() + { + $pdo = self::getConnectionToFullDB(false); + + // before update + $query = $pdo->prepare("SELECT `type` FROM `video_game_characters` WHERE `id` = 3"); + $query->execute(); + $this->assertSame([['type' => 'hero']], $query->fetchAll(\PDO::FETCH_ASSOC)); + + // prepare update + $query = $pdo->prepare("UPDATE `video_game_characters` SET `type` = 'villain' WHERE `id` = 3 LIMIT 1"); + $query->execute(); + + // after update + $query = $pdo->prepare("SELECT `type` FROM `video_game_characters` WHERE `id` = 3"); + $query->execute(); + $this->assertSame([['type' => 'villain']], $query->fetchAll(\PDO::FETCH_ASSOC)); + } public function testNegateOperationWithAnd() {