What is your actual requirement?
As stated before: I need the ability for the database to grow undeterminably (up to the available disk space - but I don’t know the available disk space, because there are other applications using the disk), while maintaining the smallest possible file size (because the user should be able to carry the file away as easily as possible)
Why are you setting a large mapsize in the first place,
Because I cannot determine how large the file might get (as described above)
if you only want a smaller size at application shutdown?
I want the SMALLEST POSSIBLE SIZE
How much space are you *really* prepared to allow your application to use?
Again: I don’t know beforehand
What are you going to do if/when your application actually needs to write beyond a particular size limit?
If the available disk space has been exhausted (which may happen also due to other application's activities), I will let the user handle it. Nothing else I can do.
This is a desktop application that must play well with other applications. There is nothing unreasonable with my (or my user's) requirements