In order to avoid memory leaks, environments, databases and
iterators should always be closed explicitly.  Consider using
call_cleanup/2 to automate the closing/deallocation of these
objects.  You can always use db_current_env/1,
db_current/5 and db_current_iterator/3 to enumerate the
currently living objects.
   
Please note: a database must not be closed while there are outstanding choices for somedb_fetch/3goal that refers to that database. Outstanding choices can be removed with a cut (!).