mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-04 20:24:13 +08:00
720b4d56be
Chunking long list of retired pages during huge transactions commit to avoid use sequences of pages: - splits a long retired page-number-list into chunks which fits one per single overflow/large page; - this requires a few unique id for keys for create such records into GC/freeDB; - just use the necessary subsequent IDs following the current transaction ID and then take the last of ones to update a meta-page. Thus avoids using/allocating/searching a sequence of free pages but just increase txnid more than one during the commit a huge write transaction with a long retired-pages-list.