When running a transaction with the transaction() method on EdgeDBClient, a client is fetched or created from the underlying client pool. The client from the pool is used to run the entire transaction block, the issue is that the binding didn't return the client back to the pool after use.
This PR fixes this by explicitly calling the close method on the client after the transaction block completes (successfully or not) via the composeWith method.
Summary
When running a transaction with the
transaction()
method onEdgeDBClient
, a client is fetched or created from the underlying client pool. The client from the pool is used to run the entire transaction block, the issue is that the binding didn't return the client back to the pool after use.This PR fixes this by explicitly calling the
close
method on the client after the transaction block completes (successfully or not) via thecomposeWith
method.Fixes #21