| Perform sanity check of runtime BDB
| version versus linked BDB version.
|
| Make sure database has a unique fileid within
| the environment. If it doesn’t, throw an
| error. BDB caches do not work properly when
| more than one open database has the same
| fileid (values written to one database may
| show up in reads to other databases).
|
| BerkeleyDB generates unique fileids by default
| (https://docs.oracle.com/cd/E17275_01/html/programmer_reference/program_copy.html),
| so bitcoin should never create different
| databases with the same fileid, but this error
| can be triggered if users manually copy
| database files.
| Get BerkeleyEnvironment given a directory
| path.
|
| @param[in] env_directory
|
| Path to environment directory
|
| ———–
| @return
|
| A shared pointer to the BerkeleyEnvironment
| object for the wallet directory, never
| empty because ~BerkeleyEnvironment
| erases the weak pointer from the g_dbenvs
| map. @post A new BerkeleyEnvironment
| weak pointer is inserted into g_dbenvs
| if the directory path key was not already
| in the map.
|
| Return object giving access to Berkeley
| database at specified path.
|