@@ -256,9 +256,9 @@ func (cs *ChangeStream) executeOperation(ctx context.Context, resuming bool) err
256256 if resuming {
257257 cs .replaceOptions (cs .wireVersion )
258258
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
262262 }
263263 pipIdx , pipDoc := bsoncore .AppendDocumentStart (nil )
264264 pipDoc = bsoncore .AppendDocumentElement (pipDoc , "$changeStream" , csOptDoc )
@@ -386,9 +386,10 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error {
386386 cs .pipelineSlice = make ([]bsoncore.Document , 0 , val .Len ()+ 1 )
387387
388388 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
392393 }
393394 csDoc = bsoncore .AppendDocumentElement (csDoc , "$changeStream" , csDocTemp )
394395 csDoc , cs .err = bsoncore .AppendDocumentEnd (csDoc , csIdx )
@@ -410,7 +411,7 @@ func (cs *ChangeStream) buildPipelineSlice(pipeline interface{}) error {
410411 return cs .err
411412}
412413
413- func (cs * ChangeStream ) createPipelineOptionsDoc () bsoncore.Document {
414+ func (cs * ChangeStream ) createPipelineOptionsDoc () ( bsoncore.Document , error ) {
414415 plDocIdx , plDoc := bsoncore .AppendDocumentStart (nil )
415416
416417 if cs .streamType == ClientStream {
@@ -434,7 +435,7 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
434435 var raDoc bsoncore.Document
435436 raDoc , cs .err = transformBsoncoreDocument (cs .registry , cs .options .ResumeAfter , true , "resumeAfter" )
436437 if cs .err != nil {
437- return nil
438+ return nil , cs . err
438439 }
439440
440441 plDoc = bsoncore .AppendDocumentElement (plDoc , "resumeAfter" , raDoc )
@@ -448,7 +449,7 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
448449 var saDoc bsoncore.Document
449450 saDoc , cs .err = transformBsoncoreDocument (cs .registry , cs .options .StartAfter , true , "startAfter" )
450451 if cs .err != nil {
451- return nil
452+ return nil , cs . err
452453 }
453454
454455 plDoc = bsoncore .AppendDocumentElement (plDoc , "startAfter" , saDoc )
@@ -464,10 +465,10 @@ func (cs *ChangeStream) createPipelineOptionsDoc() bsoncore.Document {
464465 }
465466
466467 if plDoc , cs .err = bsoncore .AppendDocumentEnd (plDoc , plDocIdx ); cs .err != nil {
467- return nil
468+ return nil , cs . err
468469 }
469470
470- return plDoc
471+ return plDoc , nil
471472}
472473
473474func (cs * ChangeStream ) pipelineToBSON () (bsoncore.Document , error ) {
0 commit comments