In my understanding for calling the Db::put in a transaction,
1. Open an environment
2. Begin a transaction
3. Open the file in the transaction
4. call Db::put
5. commit/abort the transaction
6. Close the file.
7. close the environment.
Hope for calling the put operation in a transaction the file should be
opened in that transaction. Am i right?