Skip to content

Commit 59520f6

Browse files
committed
Fix incorrect result handling
1 parent 7857eb2 commit 59520f6

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/DoctrineDbalRdbmsEventStoreRepository.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ public function getLastEventIdPersisted(array $domainIds, array $eventNames): ?s
8282
$eventStoreSchema = $this->eventStoreTableSchema;
8383
$eventStoreRelationSchema = $this->eventStoreRelationTableSchema;
8484

85-
/** @var array{id?: string} $row */
85+
/** @var list<string> $row */
8686
$row = $this->connection->createQueryBuilder()
87-
->select(sprintf('es.%s as id', $eventStoreSchema->eventIdFieldName))
87+
->select(sprintf('es.%s', $eventStoreSchema->eventIdFieldName))
8888
->from($eventStoreSchema->tableName, 'es')
8989
->join('es', $eventStoreRelationSchema->tableName, 'esr', sprintf(
9090
'es.%s = esr.%s',
@@ -94,10 +94,11 @@ public function getLastEventIdPersisted(array $domainIds, array $eventNames): ?s
9494
->andWhere(sprintf('esr.%s IN(:domainIds)', $eventStoreRelationSchema->domainIdFieldName))
9595
->setParameter('domainIds', $domainIds, ArrayParameterType::STRING)
9696
->orderBy(sprintf('es.%s', $eventStoreSchema->appliedAtFieldName), 'desc')
97+
->setMaxResults(1)
9798
->executeQuery()
9899
->fetchFirstColumn();
99100

100-
return $row['id'] ?? null;
101+
return $row[array_key_first($row)] ?? null;
101102
}
102103

103104
#[Override]

tests/DoctrineDbalRdbmsEventStoreRepositoryTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ protected function setUp(): void
4646
$queryBuilder->allows('andWhere')->andReturn($queryBuilder);
4747
$queryBuilder->allows('setParameter')->andReturn($queryBuilder);
4848
$queryBuilder->allows('orderBy')->andReturn($queryBuilder);
49+
$queryBuilder->allows('setMaxResults')->andReturn($queryBuilder);
4950
$queryBuilder->allows('executeQuery')->andReturn($this->result);
5051

5152
$this->repository = new DoctrineDbalRdbmsEventStoreRepository(

0 commit comments

Comments
 (0)