From c1af2f05b8959b27d7d67c86fd979534d78d48e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Abramowicz?= Date: Fri, 9 Apr 2021 11:06:16 +0200 Subject: [PATCH 1/2] Fix conflict with doctrine/dbal ^2.13 DBAL\Connection::executeQuery has a return type of ResultStatement in ^2.8. Statement is a child class of ResultStatement in doctrine/dbal ^2.4. Forward compatibility layer of doctrine/dbal 2.13 changes return type of DBAL\Connection::executeQuery to ResultStatement&BaseResult which specifically removes execute method from the result statement. The method already executes the statement. --- src/DBALEventStore.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DBALEventStore.php b/src/DBALEventStore.php index 8bea171..2f0c2a1 100644 --- a/src/DBALEventStore.php +++ b/src/DBALEventStore.php @@ -28,6 +28,7 @@ use Broadway\UuidGenerator\Converter\BinaryUuidConverterInterface; use Doctrine\DBAL\Connection; use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Driver\ResultStatement; use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Exception\UniqueConstraintViolationException; use Doctrine\DBAL\Schema\Schema; @@ -294,7 +295,6 @@ private function convertStorageValueToIdentifier($id) public function visitEvents(Criteria $criteria, EventVisitor $eventVisitor): void { $statement = $this->prepareVisitEventsStatement($criteria); - $statement->execute(); while ($row = $statement->fetch()) { $domainMessage = $this->deserializeEvent($row); @@ -303,7 +303,7 @@ public function visitEvents(Criteria $criteria, EventVisitor $eventVisitor): voi } } - private function prepareVisitEventsStatement(Criteria $criteria): Statement + private function prepareVisitEventsStatement(Criteria $criteria): ResultStatement { list($where, $bindValues, $bindValueTypes) = $this->prepareVisitEventsStatementWhereAndBindValues($criteria); $query = 'SELECT uuid, playhead, metadata, payload, recorded_on From 454913ae08ee3cbe144a38fec931ebcea18fdb62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Abramowicz?= Date: Fri, 9 Apr 2021 11:11:54 +0200 Subject: [PATCH 2/2] Updated phpstan to not ignore the error. --- phpstan-baseline.neon | 6 ------ 1 file changed, 6 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 63883a9..2eead69 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -9,9 +9,3 @@ parameters: message: "#^Cannot call static method fromBytes\\(\\) on Broadway\\\\UuidGenerator\\\\Converter\\\\BinaryUuidConverterInterface\\|null\\.$#" count: 1 path: src/DBALEventStore.php - - - - message: "#^Method Broadway\\\\EventStore\\\\Dbal\\\\DBALEventStore\\:\\:prepareVisitEventsStatement\\(\\) should return Doctrine\\\\DBAL\\\\Driver\\\\Statement but returns Doctrine\\\\DBAL\\\\Driver\\\\ResultStatement\\.$#" - count: 1 - path: src/DBALEventStore.php -