Great, I will test the snapshot right away.
Good work!
BR Herbert Mertig
Am Mo., 11. Feb. 2019 um 12:11 Uhr schrieb Christian Grün < christian.gruen@gmail.com>:
Hi Herbert,
The problem you encountered has been fixed. If all documents were deleted from a database in a specific order, the emptied disk block mapping was not correctly reinitialized.
This has been fixed with the latest snapshot [1]. Don’t hesitate and come back to us if you should still encounter unexpected surprises.
Thanks, Christian
[1] http://files.basex.org/releases/latest/
On Thu, Feb 7, 2019 at 11:06 AM Herbert Mertig h.mertig@gmail.com wrote:
I stumbled over this while running some JUnit tests of our Applications
which uses the embedded version of BaseX. It always seemed to happen when inserting, deleting and then inserting the same documents again.
I attached 4 simple xquery files to reproduce it using basexgui, just
follow these steps:
- open basexgui
- create an empty database
- run insert_pigs.xq to insert the first document
- run insert_plants.xq to insert the second document
- run delete_pigs.xq to delete the first document
- run delete_plants.xq to delete the second document
now insert the same 2 documents in the opposite order 7: run insert_pigs.xq 8. run insert_plants.xq <-- this will trigger the error, the database is
now garbage
Some more observations: It does not trigger when using only 1 document. Not sure if it happens
with more than 2, I think I have observed that as well. Sometimes closing the database and running optimize on it seems to fix it.
Hope that helps to find and fiy the bug, its pretty nasty.
BR Herbert