Skip to content

Commit 06579a7

Browse files
prestonvasquezmatthewdale
authored andcommitted
GODRIVER-2489 createPipelineOptionsDoc: return err (#1036)
1 parent bdfc953 commit 06579a7

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

mongo/change_stream.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

473474
func (cs *ChangeStream) pipelineToBSON() (bsoncore.Document, error) {

0 commit comments

Comments
 (0)