Skip to content

Commit c96d2ce

Browse files
authored
Merge pull request #385 from DerekRoth/patch-1
Fixed empty sort query logging
2 parents 1ee0fe2 + d535c36 commit c96d2ce

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

DataCollector/PrettyDataCollector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public function collect(Request $request, Response $response, \Exception $except
163163
} elseif (isset($log['save'])) {
164164
$query .= '.save('.$this->bsonEncode($log['document']).')';
165165
} elseif (isset($log['sort'])) {
166-
$query .= '.sort('.$this->bsonEncode($log['sortFields']).')';
166+
$query .= '.sort('.$this->bsonEncode($log['sortFields'], false).')';
167167
} elseif (isset($log['update'])) {
168168
// todo: include $log['options']
169169
$query .= '.update('.$this->bsonEncode($log['query']).', '.$this->bsonEncode($log['newObj']).')';

Tests/DataCollector/PrettyDataCollectorTest.php

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,4 +162,54 @@ public function testQueryCountVsGridFsStoreFile()
162162
$this->assertEquals(2, $collector->getQueryCount());
163163
$this->assertEquals($formatted, $collector->getQueries());
164164
}
165+
166+
public function testCollectSort()
167+
{
168+
$queries = [
169+
[
170+
'find' => true,
171+
'query' => ['_id' => 'foo'],
172+
'fields' => [],
173+
'db' => 'foo',
174+
'collection' => 'User',
175+
],
176+
[
177+
'sort' => true,
178+
'sortFields' => ['name' => 1, 'city' => -1],
179+
'query' => ['_id' => 'foo'],
180+
'fields' => [],
181+
],
182+
[
183+
'find' => true,
184+
'query' => [
185+
'_id' => '5506fa1580c7e1ee3c8b4c60',
186+
],
187+
'fields' => [],
188+
'db' => 'foo',
189+
'collection' => 'Group',
190+
],
191+
[
192+
'sort' => true,
193+
'sortFields' => [],
194+
'query' => [
195+
'_id' => '5506fa1580c7e1ee3c8b4c60',
196+
],
197+
'fields' => [],
198+
],
199+
];
200+
$formatted = [
201+
'use foo;',
202+
'db.User.find({ "_id": "foo" }).sort({ "name": 1, "city": -1 });',
203+
'db.Group.find({ "_id": "5506fa1580c7e1ee3c8b4c60" }).sort({ });'
204+
];
205+
206+
$collector = new PrettyDataCollector();
207+
foreach ($queries as $query) {
208+
$collector->logQuery($query);
209+
}
210+
$collector->collect(new Request(), new Response());
211+
212+
$this->assertEquals(2, $collector->getQueryCount());
213+
$this->assertEquals($formatted, $collector->getQueries());
214+
}
165215
}

0 commit comments

Comments
 (0)