ekinoguz / sprout-database

Database project of a graduate class.
0 stars 0 forks source link

Test Case O5 Fails #19

Closed diedthreetimes closed 11 years ago

diedthreetimes commented 11 years ago

if 100000 tuples are added as in @8fcc6a6b0f537534f9eeb8f2e8dd132ba36795b1

then we get an error. I'll run valgrind and report back any findings.

diedthreetimes commented 11 years ago

I've made headway on this. It looks like at some point when an IX_Node splits the root ends up pointing at the wrong page. When searching in the btree generated by the test case, "17" fails to be found because the wrong IX_Node is being use din the search (it should be the next node after the one returned by the index. I'll commit the failing test and pick up tomorrow.

diedthreetimes commented 11 years ago

We are not splitting IX_NODE's correctly. When we do a split the promoted key needs to be the key that was deleted not the leftmost key on the right page. This affects both root splits (where the error is currently happening) and also IX_NODE splits.