@@ -23,10 +23,10 @@ def get_find_view(op)
23
23
'allowDiskUse' , 'returnKey' , 'projection' ,
24
24
'skip' , 'hint' , 'maxTimeMS' , 'timeoutMS' ,
25
25
'collation' , 'noCursorTimeout' , 'oplogReplay' , 'allowPartialResults' ,
26
- 'timeoutMode' ,
26
+ 'timeoutMode' , 'maxAwaitTimeMS' , 'cursorType' , 'timeoutMode' ,
27
27
{ 'showRecordId' => :show_disk_loc , 'max' => :max_value , 'min' => :min_value } ,
28
28
allow_extra : true )
29
- symbolize_options! ( opts , :timeout_mode )
29
+ symbolize_options! ( opts , :timeout_mode , :cursor_type )
30
30
31
31
opts [ :session ] = entities . get ( :session , session ) if session
32
32
@@ -50,49 +50,31 @@ def get_find_view(op)
50
50
def count ( op )
51
51
collection = entities . get ( :collection , op . use! ( 'object' ) )
52
52
use_arguments ( op ) do |args |
53
- opts = { }
53
+ opts = extract_options ( args , 'comment' , 'timeoutMS' , 'maxTimeMS' , allow_extra : true )
54
54
if session = args . use ( 'session' )
55
55
opts [ :session ] = entities . get ( :session , session )
56
56
end
57
- if comment = args . use ( 'comment' )
58
- opts [ :comment ] = comment
59
- end
60
- if timeout_ms = args . use ( 'timeoutMS' )
61
- opts [ :timeout_ms ] = timeout_ms
62
- end
63
57
collection . count ( args . use! ( 'filter' ) , **opts )
64
58
end
65
59
end
66
60
67
61
def count_documents ( op )
68
62
collection = entities . get ( :collection , op . use! ( 'object' ) )
69
63
use_arguments ( op ) do |args |
70
- opts = { }
64
+ opts = extract_options ( args , 'comment' , 'timeoutMS' , 'maxTimeMS' , allow_extra : true )
71
65
if session = args . use ( 'session' )
72
66
opts [ :session ] = entities . get ( :session , session )
73
67
end
74
- if comment = args . use ( 'comment' )
75
- opts [ :comment ] = comment
76
- end
77
- if timeout_ms = args . use ( 'timeoutMS' )
78
- opts [ :timeout_ms ] = timeout_ms
79
- end
80
68
collection . find ( args . use! ( 'filter' ) ) . count_documents ( **opts )
81
69
end
82
70
end
83
71
84
72
def estimated_document_count ( op )
85
73
collection = entities . get ( :collection , op . use! ( 'object' ) )
86
74
use_arguments ( op ) do |args |
87
- opts = { }
88
- if max_time_ms = args . use ( 'maxTimeMS' )
89
- opts [ :max_time_ms ] = max_time_ms
90
- end
91
- if comment = args . use ( 'comment' )
92
- opts [ :comment ] = comment
93
- end
94
- if timeout_ms = args . use ( 'timeoutMS' )
95
- opts [ :timeout_ms ] = timeout_ms
75
+ opts = extract_options ( args , 'comment' , 'timeoutMS' , 'maxTimeMS' , allow_extra : true )
76
+ if session = args . use ( 'session' )
77
+ opts [ :session ] = entities . get ( :session , session )
96
78
end
97
79
collection . estimated_document_count ( **opts )
98
80
end
@@ -101,16 +83,10 @@ def estimated_document_count(op)
101
83
def distinct ( op )
102
84
collection = entities . get ( :collection , op . use! ( 'object' ) )
103
85
use_arguments ( op ) do |args |
104
- opts = { }
86
+ opts = extract_options ( args , 'comment' , 'timeoutMS' , 'maxTimeMS' , allow_extra : true )
105
87
if session = args . use ( 'session' )
106
88
opts [ :session ] = entities . get ( :session , session )
107
89
end
108
- if comment = args . use ( 'comment' )
109
- opts [ :comment ] = comment
110
- end
111
- if timeout_ms = args . use ( 'timeoutMS' )
112
- opts [ :timeout_ms ] = timeout_ms
113
- end
114
90
req = collection . find ( args . use! ( 'filter' ) , **opts ) . distinct ( args . use! ( 'fieldName' ) , **opts )
115
91
result = req . to_a
116
92
end
@@ -126,16 +102,15 @@ def find_one_and_update(op)
126
102
comment : args . use ( 'comment' ) ,
127
103
hint : args . use ( 'hint' ) ,
128
104
upsert : args . use ( 'upsert' ) ,
105
+ timeout_ms : args . use ( 'timeoutMS' ) ,
106
+ max_time_ms : args . use ( 'maxTimeMS' )
129
107
}
130
108
if return_document = args . use ( 'returnDocument' )
131
109
opts [ :return_document ] = return_document . downcase . to_sym
132
110
end
133
111
if session = args . use ( 'session' )
134
112
opts [ :session ] = entities . get ( :session , session )
135
113
end
136
- if timeout_ms = args . use ( 'timeoutMS' )
137
- opts [ :timeout_ms ] = timeout_ms
138
- end
139
114
collection . find_one_and_update ( filter , update , **opts )
140
115
end
141
116
end
@@ -149,13 +124,12 @@ def find_one_and_replace(op)
149
124
let : args . use ( 'let' ) ,
150
125
comment : args . use ( 'comment' ) ,
151
126
hint : args . use ( 'hint' ) ,
127
+ timeout_ms : args . use ( 'timeoutMS' ) ,
128
+ max_time_ms : args . use ( 'maxTimeMS' )
152
129
}
153
130
if session = args . use ( 'session' )
154
131
opts [ :session ] = entities . get ( :session , session )
155
132
end
156
- if timeout_ms = args . use ( 'timeoutMS' )
157
- opts [ :timeout_ms ] = timeout_ms
158
- end
159
133
collection . find_one_and_replace ( filter , update , **opts )
160
134
end
161
135
end
@@ -168,13 +142,12 @@ def find_one_and_delete(op)
168
142
let : args . use ( 'let' ) ,
169
143
comment : args . use ( 'comment' ) ,
170
144
hint : args . use ( 'hint' ) ,
145
+ timeout_ms : args . use ( 'timeoutMS' ) ,
146
+ max_time_ms : args . use ( 'maxTimeMS' )
171
147
}
172
148
if session = args . use ( 'session' )
173
149
opts [ :session ] = entities . get ( :session , session )
174
150
end
175
- if timeout_ms = args . use ( 'timeoutMS' )
176
- opts [ :timeout_ms ] = timeout_ms
177
- end
178
151
collection . find_one_and_delete ( filter , **opts )
179
152
end
180
153
end
@@ -184,7 +157,8 @@ def insert_one(op)
184
157
use_arguments ( op ) do |args |
185
158
opts = {
186
159
comment : args . use ( 'comment' ) ,
187
- timeout_ms : args . use ( 'timeoutMS' )
160
+ timeout_ms : args . use ( 'timeoutMS' ) ,
161
+ max_time_ms : args . use ( 'maxTimeMS' )
188
162
}
189
163
if session = args . use ( 'session' )
190
164
opts [ :session ] = entities . get ( :session , session )
@@ -197,17 +171,16 @@ def insert_many(op)
197
171
collection = entities . get ( :collection , op . use! ( 'object' ) )
198
172
use_arguments ( op ) do |args |
199
173
opts = {
200
- comment : args . use ( 'comment' )
174
+ comment : args . use ( 'comment' ) ,
175
+ timeout_ms : args . use ( 'timeoutMS' ) ,
176
+ max_time_ms : args . use ( 'maxTimeMS' )
201
177
}
202
178
unless ( ordered = args . use ( 'ordered' ) ) . nil?
203
179
opts [ :ordered ] = ordered
204
180
end
205
181
if session = args . use ( 'session' )
206
182
opts [ :session ] = entities . get ( :session , session )
207
183
end
208
- if timeout_ms = args . use ( 'timeoutMS' )
209
- opts [ :timeout_ms ] = timeout_ms
210
- end
211
184
collection . insert_many ( args . use! ( 'documents' ) , **opts )
212
185
end
213
186
end
@@ -221,6 +194,7 @@ def update_one(op)
221
194
hint : args . use ( 'hint' ) ,
222
195
upsert : args . use ( 'upsert' ) ,
223
196
timeout_ms : args . use ( 'timeoutMS' ) ,
197
+ max_time_ms : args . use ( 'maxTimeMS' )
224
198
}
225
199
if session = args . use ( 'session' )
226
200
opts [ :session ] = entities . get ( :session , session )
@@ -237,6 +211,7 @@ def update_many(op)
237
211
comment : args . use ( 'comment' ) ,
238
212
hint : args . use ( 'hint' ) ,
239
213
timeout_ms : args . use ( 'timeoutMS' ) ,
214
+ max_time_ms : args . use ( 'maxTimeMS' )
240
215
}
241
216
collection . update_many ( args . use! ( 'filter' ) , args . use! ( 'update' ) , **opts )
242
217
end
@@ -252,7 +227,8 @@ def replace_one(op)
252
227
upsert : args . use ( 'upsert' ) ,
253
228
let : args . use ( 'let' ) ,
254
229
hint : args . use ( 'hint' ) ,
255
- timeout_ms : args . use ( 'timeoutMS' )
230
+ timeout_ms : args . use ( 'timeoutMS' ) ,
231
+ max_time_ms : args . use ( 'maxTimeMS' )
256
232
)
257
233
end
258
234
end
@@ -264,13 +240,12 @@ def delete_one(op)
264
240
let : args . use ( 'let' ) ,
265
241
comment : args . use ( 'comment' ) ,
266
242
hint : args . use ( 'hint' ) ,
243
+ timeout_ms : args . use ( 'timeoutMS' ) ,
244
+ max_time_ms : args . use ( 'maxTimeMS' )
267
245
}
268
246
if session = args . use ( 'session' )
269
247
opts [ :session ] = entities . get ( :session , session )
270
248
end
271
- if timeout_ms = args . use ( 'timeoutMS' )
272
- opts [ :timeout_ms ] = timeout_ms
273
- end
274
249
collection . delete_one ( args . use! ( 'filter' ) , **opts )
275
250
end
276
251
end
@@ -282,6 +257,8 @@ def delete_many(op)
282
257
let : args . use ( 'let' ) ,
283
258
comment : args . use ( 'comment' ) ,
284
259
hint : args . use ( 'hint' ) ,
260
+ timeout_ms : args . use ( 'timeoutMS' ) ,
261
+ max_time_ms : args . use ( 'maxTimeMS' )
285
262
}
286
263
collection . delete_many ( args . use! ( 'filter' ) , **opts )
287
264
end
@@ -306,6 +283,9 @@ def bulk_write(op)
306
283
if timeout_ms = args . use ( 'timeoutMS' )
307
284
opts [ :timeout_ms ] = timeout_ms
308
285
end
286
+ if max_time_ms = args . use ( 'maxTimeMS' )
287
+ opts [ :max_time_ms ] = max_time_ms
288
+ end
309
289
collection . bulk_write ( requests , **opts )
310
290
end
311
291
end
@@ -315,18 +295,14 @@ def aggregate(op)
315
295
args = op . use! ( 'arguments' )
316
296
pipeline = args . use! ( 'pipeline' )
317
297
318
- opts = extract_options ( args , 'let' , 'comment' , 'batchSize' ,
319
- 'allowDiskUse' , 'timeoutMode' , 'timeoutMS' , allow_extra : true )
298
+ opts = extract_options ( args , 'let' , 'comment' , 'batchSize' , 'maxTimeMS' ,
299
+ 'allowDiskUse' , 'timeoutMode' , 'timeoutMS' , 'maxTimeMS' , allow_extra : true )
320
300
symbolize_options! ( opts , :timeout_mode )
321
301
322
302
if session = args . use ( 'session' )
323
303
opts [ :session ] = entities . get ( :session , session )
324
304
end
325
305
326
- if timeout_ms = args . use ( 'timeoutMS' )
327
- opts [ :timeout_ms ] = timeout_ms
328
- end
329
-
330
306
unless args . empty?
331
307
raise NotImplementedError , "Unhandled spec keys: #{ args } in #{ test_spec } "
332
308
end
@@ -339,7 +315,8 @@ def create_find_cursor(op)
339
315
args = op . use! ( 'arguments' )
340
316
341
317
filter = args . use ( 'filter' )
342
- opts = extract_options ( args , 'batchSize' , 'timeoutMS' )
318
+ opts = extract_options ( args , 'batchSize' , 'timeoutMS' , 'cursorType' , 'maxAwaitTimeMS' )
319
+ symbolize_options! ( opts , :cursor_type )
343
320
344
321
view = obj . find ( filter , opts )
345
322
view . each # to initialize the cursor
0 commit comments