File tree Expand file tree Collapse file tree 8 files changed +368
-32
lines changed Expand file tree Collapse file tree 8 files changed +368
-32
lines changed Original file line number Diff line number Diff line change @@ -252,6 +252,10 @@ def _gen_find_command(
252
252
if limit < 0 :
253
253
cmd ["singleBatch" ] = True
254
254
if batch_size :
255
+ # When limit and batchSize are equal we increase batchSize by 1 to
256
+ # avoid an unnecessary killCursors.
257
+ if limit == batch_size :
258
+ batch_size += 1
255
259
cmd ["batchSize" ] = batch_size
256
260
if read_concern .level and not (session and session .in_transaction ):
257
261
cmd ["readConcern" ] = read_concern .document
Original file line number Diff line number Diff line change 3
3
"schemaVersion" : " 1.4" ,
4
4
"runOnRequirements" : [
5
5
{
6
- "minServerVersion" : " 8.0"
6
+ "minServerVersion" : " 8.0" ,
7
+ "serverless" : " forbid"
7
8
}
8
9
],
9
10
"createEntities" : [
Original file line number Diff line number Diff line change 3
3
"schemaVersion" : " 1.4" ,
4
4
"runOnRequirements" : [
5
5
{
6
- "minServerVersion" : " 8.0"
6
+ "minServerVersion" : " 8.0" ,
7
+ "serverless" : " forbid"
7
8
}
8
9
],
9
10
"createEntities" : [
Original file line number Diff line number Diff line change
1
+ {
2
+ "description" : " distinct-hint" ,
3
+ "schemaVersion" : " 1.0" ,
4
+ "runOnRequirements" : [
5
+ {
6
+ "minServerVersion" : " 7.1.0"
7
+ }
8
+ ],
9
+ "createEntities" : [
10
+ {
11
+ "client" : {
12
+ "id" : " client0" ,
13
+ "observeEvents" : [
14
+ " commandStartedEvent"
15
+ ]
16
+ }
17
+ },
18
+ {
19
+ "database" : {
20
+ "id" : " database0" ,
21
+ "client" : " client0" ,
22
+ "databaseName" : " distinct-hint-tests"
23
+ }
24
+ },
25
+ {
26
+ "collection" : {
27
+ "id" : " collection0" ,
28
+ "database" : " database0" ,
29
+ "collectionName" : " coll0"
30
+ }
31
+ }
32
+ ],
33
+ "initialData" : [
34
+ {
35
+ "collectionName" : " coll0" ,
36
+ "databaseName" : " distinct-hint-tests" ,
37
+ "documents" : [
38
+ {
39
+ "_id" : 1 ,
40
+ "x" : 11
41
+ },
42
+ {
43
+ "_id" : 2 ,
44
+ "x" : 22
45
+ },
46
+ {
47
+ "_id" : 3 ,
48
+ "x" : 33
49
+ }
50
+ ]
51
+ }
52
+ ],
53
+ "tests" : [
54
+ {
55
+ "description" : " distinct with hint string" ,
56
+ "operations" : [
57
+ {
58
+ "name" : " distinct" ,
59
+ "object" : " collection0" ,
60
+ "arguments" : {
61
+ "fieldName" : " x" ,
62
+ "filter" : {
63
+ "_id" : 1
64
+ },
65
+ "hint" : " _id_"
66
+ },
67
+ "expectResult" : [
68
+ 11
69
+ ]
70
+ }
71
+ ],
72
+ "expectEvents" : [
73
+ {
74
+ "client" : " client0" ,
75
+ "events" : [
76
+ {
77
+ "commandStartedEvent" : {
78
+ "command" : {
79
+ "distinct" : " coll0" ,
80
+ "key" : " x" ,
81
+ "query" : {
82
+ "_id" : 1
83
+ },
84
+ "hint" : " _id_"
85
+ },
86
+ "commandName" : " distinct" ,
87
+ "databaseName" : " distinct-hint-tests"
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "description" : " distinct with hint document" ,
96
+ "operations" : [
97
+ {
98
+ "name" : " distinct" ,
99
+ "object" : " collection0" ,
100
+ "arguments" : {
101
+ "fieldName" : " x" ,
102
+ "filter" : {
103
+ "_id" : 1
104
+ },
105
+ "hint" : {
106
+ "_id" : 1
107
+ }
108
+ },
109
+ "expectResult" : [
110
+ 11
111
+ ]
112
+ }
113
+ ],
114
+ "expectEvents" : [
115
+ {
116
+ "client" : " client0" ,
117
+ "events" : [
118
+ {
119
+ "commandStartedEvent" : {
120
+ "command" : {
121
+ "distinct" : " coll0" ,
122
+ "key" : " x" ,
123
+ "query" : {
124
+ "_id" : 1
125
+ },
126
+ "hint" : {
127
+ "_id" : 1
128
+ }
129
+ },
130
+ "commandName" : " distinct" ,
131
+ "databaseName" : " distinct-hint-tests"
132
+ }
133
+ }
134
+ ]
135
+ }
136
+ ]
137
+ }
138
+ ]
139
+ }
Original file line number Diff line number Diff line change 249
249
"name" : " estimatedDocumentCount" ,
250
250
"object" : " collection0" ,
251
251
"expectError" : {
252
- "isError " : true
252
+ "isClientError " : true
253
253
}
254
254
}
255
255
],
Original file line number Diff line number Diff line change 237
237
]
238
238
}
239
239
]
240
+ },
241
+ {
242
+ "description" : " Find with batchSize equal to limit" ,
243
+ "operations" : [
244
+ {
245
+ "object" : " collection0" ,
246
+ "name" : " find" ,
247
+ "arguments" : {
248
+ "filter" : {
249
+ "_id" : {
250
+ "$gt" : 1
251
+ }
252
+ },
253
+ "sort" : {
254
+ "_id" : 1
255
+ },
256
+ "limit" : 4 ,
257
+ "batchSize" : 4
258
+ },
259
+ "expectResult" : [
260
+ {
261
+ "_id" : 2 ,
262
+ "x" : 22
263
+ },
264
+ {
265
+ "_id" : 3 ,
266
+ "x" : 33
267
+ },
268
+ {
269
+ "_id" : 4 ,
270
+ "x" : 44
271
+ },
272
+ {
273
+ "_id" : 5 ,
274
+ "x" : 55
275
+ }
276
+ ]
277
+ }
278
+ ],
279
+ "expectEvents" : [
280
+ {
281
+ "client" : " client0" ,
282
+ "events" : [
283
+ {
284
+ "commandStartedEvent" : {
285
+ "command" : {
286
+ "find" : " coll0" ,
287
+ "filter" : {
288
+ "_id" : {
289
+ "$gt" : 1
290
+ }
291
+ },
292
+ "limit" : 4 ,
293
+ "batchSize" : 5
294
+ },
295
+ "commandName" : " find" ,
296
+ "databaseName" : " find-tests"
297
+ }
298
+ }
299
+ ]
300
+ }
301
+ ]
240
302
}
241
303
]
242
304
}
You can’t perform that action at this time.
0 commit comments