Klaus Malorny wrote:
- I saw the discussion about the predefined database size, and that it is recommended to use a never-to-be-reached size and to rely on the sparse file capabilities of the underlying OS. If I would not want to go this way: Is it correct that if I encounter an "MDB_MAP_FULL" return code, it would be sufficient to abort the current transaction, resize the database using mdp_env_set_mapsize and repeat the transaction?
Yes, as long as you follow the other restrictions on changing the size.
You mean that a separate (reader) process would have to react on the changed file size also (MDB_MAP_RESIZED result)? Or are there any further things to observe that I missed?
mdb_env_set_mapsize:
* It may be called at later times if no transactions are active in * this process. Note that the library does not check for this condition, * the caller must ensure it explicitly.