Yoni Fogel
ab1df07131
Addresses #1031
...
Invalidates cursors when we run off the end of a leaf.
git-svn-id: file:///svn/tokudb@5222 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 05:59:25 +00:00
Yoni Fogel
5badbb42a8
Addresses #1031
...
Implements lazy updates for next_shortcut, and prev_shortcut.
git-svn-id: file:///svn/tokudb@5221 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 05:37:55 +00:00
Yoni Fogel
0817ad3042
Addresses #1031
...
Added invalidate_callback function to the OMTcursors.
Added tests for invalidate callback functions.
git-svn-id: file:///svn/tokudb@5203 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-19 06:21:09 +00:00
Yoni Fogel
18b35fc088
Addresses #993
...
Merge branch 993 back into main.
git-svn-id: file:///svn/tokudb@5141 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-16 22:23:29 +00:00
Bradley C. Kuszmaul
93d2d2fcfa
Enable tail calls. Fixes #879 .
...
git-svn-id: file:///svn/tokudb@4645 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-19 01:46:41 +00:00
Yoni Fogel
4b35c3f3ef
Addresses #918
...
Allocates room for at least 4 elements every time we convert from tree
to array (and vice versa).
git-svn-id: file:///svn/tokudb@4586 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 12:17:48 +00:00
Yoni Fogel
56861ecd78
addresses #918
...
Merged current progress into trunk
git-svn-id: file:///svn/tokudb@4581 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 04:29:17 +00:00
Yoni Fogel
1ce2303c6b
Addresses #918
...
Merge 'convert to array on rebalancing root' change
git-svn-id: file:///svn/tokudb@4576 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 00:01:35 +00:00
Yoni Fogel
88b08c3daf
Addresses #918
...
Merge initial version of array representation of omts into trunk
git-svn-id: file:///svn/tokudb@4574 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-16 23:50:45 +00:00
Bradley C. Kuszmaul
e0d124119b
Pack the OMT. Fixes #897 .
...
git-svn-id: file:///svn/tokudb@4421 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-08 16:14:31 +00:00
Yoni Fogel
2e01e6d00d
Addresses #855 , #856 . Invalidates cursor on a failed toku_omt_find
...
git-svn-id: file:///svn/tokudb@4337 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 03:42:56 +00:00
Yoni Fogel
540d7247cd
Addresses #855 , #856 . More 0s become NULLs. toku_omt_cursor_prev checks for index = 0
...
so that it can invalidate and return EINVAL (since index is unsigned)
git-svn-id: file:///svn/tokudb@4336 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 02:23:39 +00:00
Yoni Fogel
352566ea2f
Addresses #855 , #856 . Standardize index to be unsigned, 32 bits. Used NULL instead of 0
...
git-svn-id: file:///svn/tokudb@4335 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 02:10:40 +00:00
Bradley C. Kuszmaul
77639084ce
Get rid of ERANGE in favor of EINVAL. And fix up a couple of test cases. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4333 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 01:28:40 +00:00
Bradley C. Kuszmaul
9185a8549b
Go to the O(logN)-integer-compare implementation, which is about 5% faster than the O(1) implementation. I cannot explain it. The old stuff is now in {{{omt-with-o1-cursors/}}}. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4329 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 00:50:14 +00:00
Bradley C. Kuszmaul
33d04ef55f
Integrate the omtcursors into the BRT. So far only DB_NEXT is implemented. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4325 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 20:52:12 +00:00
Vincenzo Liberatore
bf759aa8bb
Closes #855 Merged back into trunk
...
git-svn-id: file:///svn/tokudb@4308 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-30 20:41:12 +00:00
Bradley C. Kuszmaul
31144bf15b
Make the leaf nodes have accurate memory footprint info.
...
git-svn-id: file:///svn/tokudb@4178 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 21:08:31 +00:00
Yoni Fogel
f32fcb751b
Closes #777
...
omt used to replaced libredblack
git-svn-id: file:///svn/tokudb@3986 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 20:09:13 +00:00
Yoni Fogel
729c916697
Addresses #825
...
We rebalance at most one subtree per delete.
Insert and delete modified slightly to use tail recursion when simple.
git-svn-id: file:///svn/tokudb@3943 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 19:33:49 +00:00
Yoni Fogel
b2d86c0bde
Addresses #825
...
On inserts, we will rebalance at most 1 subtree.
git-svn-id: file:///svn/tokudb@3942 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 19:24:07 +00:00
Yoni Fogel
ae2a2766ff
Closes #825
...
OMT now uses block allocs instead of a single malloc for each node.
git-svn-id: file:///svn/tokudb@3940 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 18:50:42 +00:00
Bradley C. Kuszmaul
09850cc913
Hacking makefiles. Also make the filenames used by the tests work more reliably. Addresses #782 .
...
git-svn-id: file:///svn/tokudb@3792 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-04 16:56:15 +00:00
Yoni Fogel
58d3edb58b
Addresses #724
...
Tests for insert.
BUGFIX: Insert now properly returns DB_KEYEXIST if the heaviside function
returns 0 for some value in the tree.
git-svn-id: file:///svn/tokudb@3601 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-23 19:51:30 +00:00
Bradley C. Kuszmaul
0b880e866e
Merge onto the main line again.
...
{{{
svn merge -r3571:3582 https://svn.tokutek.com/tokudb/tokudb.724
}}}
git-svn-id: file:///svn/tokudb@3583 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-23 04:17:28 +00:00
Bradley C. Kuszmaul
33b252772a
Merge in the OMT and its integration into the main line.
...
{{{
$ cd tokudb
$ svn merge -r3533:3571 https://svn.tokutek.com/tokudb/tokudb.724
}}}
There remain a few problems with recovery, but the main line has problems with recovery, so let's bite the bullet and move forward.
Fixes #729 , #724 .
git-svn-id: file:///svn/tokudb@3572 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-22 20:39:50 +00:00