Open blainenelson opened 5 months ago
The essence of this issue lies in the inability to recognize embedded situations like mongo.SessionContext
at present. In the future, it will be necessary to consider adding additional context type configurations. For now, you can consider making the following modifications.
// nolint: contextcheck
func TransactionCall(ctx SessionContext, f func(ctx context.Context, sessctx SessionContext) (interface{}, error)) {
return f(ctx.Context, ctx)
}
sess.WithTransaction(
ctx,
func(sessCtx mongo.SessionContext) (interface{}, error) {
return TransactionCall(sessCtx, fn)
},
)
In the following function
we are now seeing a False Positive
It appears there is an issue in creating a lambda function in this way, perhaps because the lambda function takes a
mongo.SessionContext
instead of acontext.Context
even though the former extends the latter: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#SessionContextThis issue appears to have arisen with the latest release.