Skip to content

Commit 371f216

Browse files
committed
passed bookmarks to bolt protocol
1 parent 1f7bdc8 commit 371f216

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/Bolt/BoltConnection.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use Laudis\Neo4j\BoltFactory;
2222
use Laudis\Neo4j\Common\ConnectionConfiguration;
2323
use Laudis\Neo4j\Contracts\ConnectionInterface;
24+
use Laudis\Neo4j\Databags\BookmarkHolder;
2425
use Laudis\Neo4j\Databags\DatabaseInfo;
2526
use Laudis\Neo4j\Databags\DriverConfiguration;
2627
use Laudis\Neo4j\Enum\AccessMode;
@@ -270,14 +271,14 @@ public function discard(?int $qid): void
270271
*
271272
* @return BoltMeta
272273
*/
273-
public function run(string $text, array $parameters, ?string $database, ?float $timeout): array
274+
public function run(string $text, array $parameters, ?string $database, ?float $timeout, BookmarkHolder $holder): array
274275
{
275276
if (!str_starts_with($this->serverState, 'TX_') || str_starts_with($this->getServerVersion(), '3')) {
276277
$this->consumeResults();
277278
}
278279

279280
try {
280-
$extra = $this->buildRunExtra($database, $timeout);
281+
$extra = $this->buildRunExtra($database, $timeout, $holder);
281282

282283
$tbr = $this->protocol()->run($text, $parameters, $extra);
283284

@@ -398,7 +399,7 @@ public function __destruct()
398399
}
399400
}
400401

401-
private function buildRunExtra(?string $database, ?float $timeout): array
402+
private function buildRunExtra(?string $database, ?float $timeout, BookmarkHolder $holder): array
402403
{
403404
$extra = [];
404405
if ($database) {
@@ -408,6 +409,10 @@ private function buildRunExtra(?string $database, ?float $timeout): array
408409
$extra['tx_timeout'] = (int) ($timeout * 1000);
409410
}
410411

412+
if (!$holder->getBookmark()->isEmpty()) {
413+
$extra['bookmarks'] = $holder->getBookmark()->values();
414+
}
415+
411416
return $extra;
412417
}
413418

src/Bolt/BoltUnmanagedTransaction.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ public function runStatement(Statement $statement)
132132
$statement->getText(),
133133
$parameters->toArray(),
134134
$this->database,
135-
$this->tsxConfig->getTimeout()
135+
$this->tsxConfig->getTimeout(),
136+
$this->bookmarkHolder
136137
);
137138
$run = microtime(true);
138139
} catch (MessageException $e) {

0 commit comments

Comments
 (0)