@@ -256,9 +256,9 @@ func (cs *ChangeStream) executeOperation(ctx context.Context, resuming bool) err
256
256
if resuming {
257
257
cs .replaceOptions (cs .wireVersion )
258
258
259
- csOptDoc := cs .createPipelineOptionsDoc ()
260
- if cs . err != nil {
261
- return cs . Err ()
259
+ csOptDoc , err := cs .createPipelineOptionsDoc ()
260
+ if err != nil {
261
+ return err
262
262
}
263
263
pipIdx , pipDoc := bsoncore .AppendDocumentStart (nil )
264
264
pipDoc = bsoncore .AppendDocumentElement (pipDoc , "$changeStream" , csOptDoc )
@@ -386,9 +386,10 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error {
386
386
cs .pipelineSlice = make ([]bsoncore.Document , 0 , val .Len ()+ 1 )
387
387
388
388
csIdx , csDoc := bsoncore .AppendDocumentStart (nil )
389
- csDocTemp := cs .createPipelineOptionsDoc ()
390
- if cs .err != nil {
391
- return cs .err
389
+
390
+ csDocTemp , err := cs .createPipelineOptionsDoc ()
391
+ if err != nil {
392
+ return err
392
393
}
393
394
csDoc = bsoncore .AppendDocumentElement (csDoc , "$changeStream" , csDocTemp )
394
395
csDoc , cs .err = bsoncore .AppendDocumentEnd (csDoc , csIdx )
@@ -410,7 +411,7 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error {
410
411
return cs .err
411
412
}
412
413
413
- func (cs * ChangeStream ) createPipelineOptionsDoc () bsoncore.Document {
414
+ func (cs * ChangeStream ) createPipelineOptionsDoc () ( bsoncore.Document , error ) {
414
415
plDocIdx , plDoc := bsoncore .AppendDocumentStart (nil )
415
416
416
417
if cs .streamType == ClientStream {
@@ -434,7 +435,7 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
434
435
var raDoc bsoncore.Document
435
436
raDoc , cs .err = transformBsoncoreDocument (cs .registry , cs .options .ResumeAfter , true , "resumeAfter" )
436
437
if cs .err != nil {
437
- return nil
438
+ return nil , cs . err
438
439
}
439
440
440
441
plDoc = bsoncore .AppendDocumentElement (plDoc , "resumeAfter" , raDoc )
@@ -448,7 +449,7 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
448
449
var saDoc bsoncore.Document
449
450
saDoc , cs .err = transformBsoncoreDocument (cs .registry , cs .options .StartAfter , true , "startAfter" )
450
451
if cs .err != nil {
451
- return nil
452
+ return nil , cs . err
452
453
}
453
454
454
455
plDoc = bsoncore .AppendDocumentElement (plDoc , "startAfter" , saDoc )
@@ -464,10 +465,10 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
464
465
}
465
466
466
467
if plDoc , cs .err = bsoncore .AppendDocumentEnd (plDoc , plDocIdx ); cs .err != nil {
467
- return nil
468
+ return nil , cs . err
468
469
}
469
470
470
- return plDoc
471
+ return plDoc , nil
471
472
}
472
473
473
474
func (cs * ChangeStream ) pipelineToBSON () (bsoncore.Document , error ) {
0 commit comments