Fix glass freelist bug with cancel_transaction()
commit918cf60a95d33a8f81663f60614df672e051f2f2
authorOlly Betts <olly@survex.com>
Tue, 20 Mar 2018 03:18:17 +0000 (20 16:18 +1300)
committerOlly Betts <olly@survex.com>
Tue, 20 Mar 2018 20:21:31 +0000 (21 09:21 +1300)
treef6697802387a054e55053a7737545e4c17691e31
parentd7789eb9bae3f7c5b7824ac496669092bff1b92a
Fix glass freelist bug with cancel_transaction()

When cancel_transaction() was called with glass, the freelist wasn't
reset to how it was before the transaction, resulting in leaked blocks.
This was largely harmless, except that it was detected by
Database::check() and caused an error.

(cherry picked from commit aa9ad6d9e586da13c18d79dacb0aa1aa66c3be80)
xapian-core/backends/glass/glass_table.cc
xapian-core/tests/api_transdb.cc