btree iterator doesn't appear to work
The increment operation on the iterator in tpie::btree does not always terminate.
Is this still a problem?
If so, do you have a test case?
I just checked, and currently we crash when the iterator appears to get to the end. Jakob is working on a testcase, but isn't done yet.
Running tpie/build/apps/siv_dump/siv_dump /tmp/dataset.siv faults while tpie/build/apps/siv_dump/siv_dump --recursive /tmp/dataset.siv succedes
I found the problem: For serialized btrees t.end() != t.end() (same with begin). I'm working on a fix.
Should be fixed by 09a2e18d4ce3ce4f0737dc7e8421d9241c9d8473
I don't think this fix works.
if i do
for (auto it=tree.begin(); it != tree.end(); ++it) {...}
It appears to fail as a new end node is constructed and deleted for every loop iteration. Also these lookups in unordered maps could be slow. Would it not be better to fix the comparison to use the offset?
Works on my computer.
We should not use unordred maps to cache nodes. We should fix the comparision..
Fair enough, should be fixed in 1b6534f632c38d8cf1bf62cf3065c9378d97a192
Is this still a problem?