From f7746ea2951e8cfa7419b26f69d0e3f9d117c80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kucha=C5=99?= <honza.kuchar@grifart.cz> Date: Mon, 23 May 2016 01:19:02 +0200 Subject: [PATCH] PostgreCursorFactory: now knows how to create semantic cursors --- src/Driver/PostgresCursorFactory.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Driver/PostgresCursorFactory.php b/src/Driver/PostgresCursorFactory.php index e2f2468..9d5db52 100644 --- a/src/Driver/PostgresCursorFactory.php +++ b/src/Driver/PostgresCursorFactory.php @@ -8,6 +8,10 @@ namespace Grifart\Mappi\Cursor\Driver; use Dibi\Connection; use Grifart\Mappi\Cursor\Cursor; use Grifart\Mappi\Cursor\ICursor; +use Grifart\Mappi\Cursor\Position; +use Grifart\Mappi\Cursor\SemanticCursor; +use Grifart\Mappi\Cursor\SemanticTrackedCursor; +use Grifart\Mappi\Cursor\TrackedCursor; final class PostgresCursorFactory { @@ -48,6 +52,20 @@ final class PostgresCursorFactory ); } + public function createSemantic(string $sql, bool $scroll) : SemanticTrackedCursor + { + $cursor = $this->create($sql, $scroll); + return new SemanticCursor($cursor); + } + + public function createTrackedSemantic(string $sql, bool $scroll) : SemanticTrackedCursor + { + $cursor = $this->create($sql, $scroll); + return new SemanticTrackedCursor( + new TrackedCursor($cursor, Position::fromLeft(0)) + ); + } + /** * Generate cursor unique name in current transaction * @return string -- GitLab