diff --git a/src/Doctrine/ODM/OrientDB/Repository.php b/src/Doctrine/ODM/OrientDB/Repository.php index 5100cea..6689069 100644 --- a/src/Doctrine/ODM/OrientDB/Repository.php +++ b/src/Doctrine/ODM/OrientDB/Repository.php @@ -145,6 +145,10 @@ public function findBy(array $criteria, array $orderBy = array(), $limit = null, $query->orderBy("$key $order"); } + if ($offset) { + $query->skip($offset); + } + if ($limit) { $query->limit($limit); } diff --git a/src/Doctrine/OrientDB/Binding/Client/Http/CurlClientResponse.php b/src/Doctrine/OrientDB/Binding/Client/Http/CurlClientResponse.php index f34d2ed..0d248f5 100644 --- a/src/Doctrine/OrientDB/Binding/Client/Http/CurlClientResponse.php +++ b/src/Doctrine/OrientDB/Binding/Client/Http/CurlClientResponse.php @@ -35,6 +35,7 @@ class CurlClientResponse const STATUS_NO_CONTENT = 204; const STATUS_RESET_CONTENT = 205; const STATUS_PARTIAL_CONTENT = 206; + const STATUS_CONTINUE = 100; /** * Constructs a new object from an existing HTTP response. @@ -118,7 +119,8 @@ public function getValidStatusCodes() self::STATUS_NO_CONTENT, self::STATUS_RESET_CONTENT, self::STATUS_PARTIAL_CONTENT, - self::STATUS_CREATED + self::STATUS_CREATED, + self::STATUS_CONTINUE ); } diff --git a/test/Doctrine/ODM/OrientDB/Integration/RepositoryTest.php b/test/Doctrine/ODM/OrientDB/Integration/RepositoryTest.php index 8c924d3..7b3a2d8 100644 --- a/test/Doctrine/ODM/OrientDB/Integration/RepositoryTest.php +++ b/test/Doctrine/ODM/OrientDB/Integration/RepositoryTest.php @@ -91,6 +91,11 @@ public function testRetrievingByCriteria() $posts = $repository->findBy(array(), array('@rid' => 'ASC'), 1); $this->assertCount(1, $posts); + + $post0Rid = $posts[0]->getRid(); + $posts = $repository->findBy(array(), array('@rid' => 'ASC'), 4, 1); + $this->assertCount(3, $posts); + $this->assertTrue($posts[0]->getRid() != $post0Rid); } public function testRetrievingARecordByCriteria()