The BaseDatabase type exposes the following members.
Although closing a database will close any open cursors, it is recommended that applications explicitly close all their Cursor objects before closing the database. The reason why is that when the cursor is explicitly closed, the memory allocated for it is reclaimed; however, this will not happen if you close a database while cursors are still opened.
The same rule, for the same reasons, hold true for Transaction objects. Simply make sure you resolve all your transaction objects before closing your database handle.
Because key/data pairs are cached in memory, applications should make a point to always either close database handles or sync their data to disk (using Sync()()() before exiting, to ensure that any data cached in main memory are reflected in the underlying file system.
When called on a database that is the primary database for a secondary index, the primary database should be closed only after all secondary indices referencing it have been closed.
When multiple threads are using the object concurrently, only a single thread may call the Close method.
The object may not be accessed again after Close is called, regardless of its outcome.
Release the resources held by this object, and close the database if it's still open.
Serves as a hash function for a particular type.(Inherited from Object.)
Gets the Type of the current instance.(Inherited from Object.)
Applications should never remove databases with open DB handles, or in the case of removing a file, when any database in the file has an open handle. For example, some architectures do not permit the removal of files with open system handles. On these architectures, attempts to remove databases currently in use by any thread of control in the system may fail.
Remove should not be called if the remove is intended to be transactionally safe; RemoveDB(String, Boolean) should be used instead.
Applications should not rename databases that are currently in use. If an underlying file is being renamed and logging is currently enabled in the database environment, no database in the file may be open when Rename is called. In particular, some architectures do not permit renaming files with open handles. On these architectures, attempts to rename databases that are currently in use by any thread of control in the system may fail.
Rename should not be called if the rename is intended to be transactionally safe; RenameDB(String, String, Boolean) should be used instead.
Flush any cached information to disk.
When called on a database configured with secondary indices, Truncate will truncate the primary database and all secondary indices. A count of the records discarded from the primary database is returned.