Commit graph

26 commits

Author SHA1 Message Date
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