From 8513129b7c846f5a94ceaaac84007a7c22b7350e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Tamarelle?= Date: Mon, 19 Jun 2023 09:37:01 +0200 Subject: [PATCH] Let the server throw errors --- psalm-baseline.xml | 2 +- src/Operation/Aggregate.php | 3 --- src/Operation/Find.php | 5 ----- tests/Operation/AggregateTest.php | 3 ++- 4 files changed, 3 insertions(+), 10 deletions(-) diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 7a6d55420..b9f153751 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -471,7 +471,7 @@ $this->options['writeConcern'] - $cmd['writeConcern'] + $cmd['comment'] $deleteOptions['hint'] $options['comment'] $options['session'] diff --git a/src/Operation/Aggregate.php b/src/Operation/Aggregate.php index 357b38ec5..4d6c5867c 100644 --- a/src/Operation/Aggregate.php +++ b/src/Operation/Aggregate.php @@ -300,9 +300,6 @@ public function getCommandDocument() { $cmd = $this->createCommandDocument(); - // The 'explain' option is incompatible with the explain command - unset($cmd['explain']); - // Read concern can change the query plan if (isset($this->options['readConcern'])) { $cmd['readConcern'] = $this->options['readConcern']; diff --git a/src/Operation/Find.php b/src/Operation/Find.php index e88df3146..8725d37e8 100644 --- a/src/Operation/Find.php +++ b/src/Operation/Find.php @@ -338,11 +338,6 @@ public function getCommandDocument() return $cmd; } - // Read concern can change the query plan - if (isset($this->options['readConcern'])) { - $cmd['readConcern'] = $this->options['readConcern']; - } - // maxAwaitTimeMS is a Query level option so should not be considered here unset($options['maxAwaitTimeMS']); diff --git a/tests/Operation/AggregateTest.php b/tests/Operation/AggregateTest.php index 1c8af61fe..f72fc5a22 100644 --- a/tests/Operation/AggregateTest.php +++ b/tests/Operation/AggregateTest.php @@ -122,7 +122,7 @@ public function testExplainableCommandDocument(): void 'readConcern' => new ReadConcern(ReadConcern::LOCAL), 'useCursor' => true, // Intentionally omitted options - 'explain' => true, + // The "explain" option is illegal 'readPreference' => new ReadPreference(ReadPreference::SECONDARY_PREFERRED), 'typeMap' => ['root' => 'array', 'document' => 'array'], 'writeConcern' => new WriteConcern(0), @@ -140,6 +140,7 @@ public function testExplainableCommandDocument(): void 'maxTimeMS' => 100, 'readConcern' => new ReadConcern(ReadConcern::LOCAL), 'let' => (object) ['a' => 1], + 'cursor' => ['batchSize' => 100], ]; $this->assertEquals($expected, $operation->getCommandDocument()); }