Howard Chu writes:
> I'd call this two doc bugs:
> Something should mention that once a page has been used, the file will
> never shrink below that page. (Can't quite say that the file never
> shrinks, since WRITEMAP and Windows will set it to exact re-configurable
> mapsize in some cases. If I remember correctly.)
You cannot shrink the mapsize below that last used page, and the last used
page is a non-decreasing number.
Yes. Duh, that's already roughly stated under mdb_env_set_mapsize().
> mdb_env_copy() and mdb_env_copyfd() should document that
> @node This call can trigger siginficant file size growth if run in
> parallel with write transactions, because it employs a read-only
> transaction. See long-lived transactions under Caveats.
I'll add this one though.
> I wonder that means these functions should have a flag
> For some databases, users might prefer a _write_ transaction while
> reading the DB, blocking writes while copying.
No one has ever wanted a hot-backup function that halts writes. You
might as well not do a hot-backup at all.
Yes, nevermind about a mdb_env_copy() flag. An mdb_txn_begin
timeout would make it a viable choice - but if that is implemented
someday, those two behaviors together could go in an MDB_env flag.