Zardosht Kasheff
439e846e3d
refs #113 , add a callback function to the cursor to check for interrupts.
...
This allows callers to prevent a cursor that churns through many many committed
deletes to run amok.
2013-12-06 15:01:28 -05:00
Rich Prohaska
2796c2d35c
tokutek/ft-index#76 add US Patent 8,489,638
2013-10-04 16:49:53 -04:00
Yoni Fogel
6a74f0aacd
Refs Tokutek/ft-engine/#40 Add c_restrict_to_range function to force cursor to keep track of prelocked range
2013-07-17 14:55:23 -07:00
Leif Walsh
77c7cdd7fe
implement db->get_key_after_bytes closes #18
...
squashed commits:
create db->get_key_after_bytes() api down to the ft layer, and start a unit test
refs #18
setup/teardown for get_key_after_bytes test
refs #18
rename test because it really is going to be a small unit test
refs #18
implement a few initial checks
refs #18
adding actually_skipped parameter because we will want it in splitVector
refs #18
NULL -> nullptr, I'm rusty from mongo work
refs #18
fix some old apis to fit what get_key_after_bytes needs:
make keyrange_compare_s hold an FT instead of FT_HANDLE to prepare for reuse refs #18
make keyrange_compare_s hold a const dbt refs #18
fix const-correctness of fill_bfe functions refs #18
add unit test for an empty dictionary
refs #18
implement get_key_after_bytes for a single basement node, passes simple tests
refs #18
add test for multiple basement nodes
refs #18
fix usage of ft_search_t, we do need a full one after all
refs #18
check actually_skipped for correctness (even though it's an estimate)
refs #18
restructure test to be faster, and test keys before the beginning of the table
refs #18
don't try to read in the right basement node, just check the bns you have
refs #18
implement get_key_after_bytes for height > 0 trees
refs #18
return the amount skipped even if we hit the end of the table
refs #18
add inexact test for height > 0 trees, adjust constants so it's faster
refs #18
don't do I/O to bring in basement nodes just for get_key_after_bytes
refs #18
don't blindly check the first basement node, it's not guaranteed to be there anymore
refs #18
fix leak in get_key_after_bytes_unit.tdb
refs #18
add get_key_after_bytes to test_stress5
refs #18
switch to a callback API to save mallocs and memcpys
refs #18
2013-05-24 18:02:29 -04:00
Leif Walsh
9f99932a76
refs #6566 fix typo in license text
...
git-svn-id: file:///svn/toku/tokudb@55577 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:36 -04:00
Leif Walsh
9fd20e61a4
refs #6566 add license text to all C/C++ files as a comment near the top
...
git-svn-id: file:///svn/toku/tokudb@55574 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:35 -04:00
Leif Walsh
84fef672e4
refs #6566 update all copyright strings to reflect an end year of 2013
...
git-svn-id: file:///svn/toku/tokudb@55567 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:35 -04:00
Yoni Fogel
b77c165c15
fixes #6086 Merge 6086 to main. We now read in basement nodes if a full keyrange resides in it so that we can answer more accurately.
...
git-svn-id: file:///svn/toku/tokudb@54342 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:30 -04:00
Zardosht Kasheff
f3dc3fdea2
refs #5842 , merge Direct I/O to main
...
git-svn-id: file:///svn/toku/tokudb@52238 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:27 -04:00
Zardosht Kasheff
67eb050b40
closes #5773 , merge to main from tokudb.5773, Merging r51027 through r51078 into '.'
...
git-svn-id: file:///svn/toku/tokudb@51079 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Leif Walsh
a8ccc301fd
closes #5757 merge information_schema.tokudb_fractal_tree_info and information_schema.tokudb_fractal_tree_block_map to main
...
git-svn-id: file:///svn/toku/tokudb@50863 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:21 -04:00
Zardosht Kasheff
a0eeedd5f5
refs #5700 , merge to main
...
git-svn-id: file:///svn/toku/tokudb@50517 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:19 -04:00
Yoni Fogel
3af91c0f51
refs #5467 merge "kill put loader, fix hot indexer freeze issue" onto main
...
git-svn-id: file:///svn/toku/tokudb@50137 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:17 -04:00
John Esmet
53e33b7531
fixes #5490 get rid of the last nodup stuff
...
git-svn-id: file:///svn/toku/tokudb@48251 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:10 -04:00
John Esmet
0bc5013e30
fixes #5423 fixes #5424 fixes #5503 fixes #5225 fsync always succeeds and returns void, no more ft panic or logger panic, no more impossible error paths
...
git-svn-id: file:///svn/toku/tokudb@48076 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:08 -04:00
John Esmet
01068d0c1d
fixes #4752 support blackhole option in tokudb, add it to the stress test framework as well as an option for prelocked write. we also fix the flags api in the ft layer to return void since they can't fail.
...
git-svn-id: file:///svn/toku/tokudb@46644 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:02 -04:00
Yoni Fogel
d4cf29525f
refs #5081 Replace all usage:
...
BOOL->bool
FALSE->false
TRUE->true
u_int*_t->uint*_t
Also poisoned all of the variables
git-svn-id: file:///svn/toku/tokudb@46157 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:01 -04:00
Leif Walsh
958c447641
closes #5206 merge c++ changes to mainline
...
git-svn-id: file:///svn/toku/tokudb@45903 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:59 -04:00
Leif Walsh
a367232ad2
refs #5206 merge work making our code c99 and c++11 compatible, to mainline
...
git-svn-id: file:///svn/toku/tokudb@45632 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:58 -04:00
Zardosht Kasheff
665f1acff4
refs #5130 , refs #4870 , merge changes of adding db->change_XXX functions to main
...
git-svn-id: file:///svn/toku/tokudb@44890 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
John Esmet
0a1d95065c
[t:4838] the locktree now opens its own ft handle when created to ensure that the ft stays in memory so long as the lock tree is in memory. we use an on_create and on_destroy callback to keep the txn/ft logic out of the locktree. the api for toku_ltm_get_lt is a little hairy now. a better solution may come in the future. for now, the original failing test passes.
...
git-svn-id: file:///svn/toku/tokudb@44819 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
99568e9652
[t:5113] carefully document a non-obvious contract requirement for change descriptor. clients may ONLY update a FT's cmp descriptor if it's the first operation done after open, before any reads or writes. further, remove the test - it's user error.
...
git-svn-id: file:///svn/toku/tokudb@44804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
08531ecc0a
[t:5112] removed the fd param from update descriptor, improved the name, removed some unnecessary return codes from functions that cannot fail
...
git-svn-id: file:///svn/toku/tokudb@44771 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
d6b5f0b432
close[t:5100] close[t:4930] the api for closing a ft has been simplified for normal use. for recovery, there is a new function that internally asserts the underlying ft is close and passes a valid lsn to the cachefile for closing
...
git-svn-id: file:///svn/toku/tokudb@44748 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
719d534277
[t:5101] toku_ft_update and toku_ft_set_update are dead code.
...
git-svn-id: file:///svn/toku/tokudb@44716 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
4cfdf9d21b
[t:5101] show ft blocknums is dead code
...
git-svn-id: file:///svn/toku/tokudb@44715 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
e01fda0615
[t:5101] do_push_command is dead code
...
git-svn-id: file:///svn/toku/tokudb@44714 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
2595599eff
[t:5101] height of root is dead code
...
git-svn-id: file:///svn/toku/tokudb@44713 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
7d6c001f3c
[t:5101] ft remove subdb is dead code
...
git-svn-id: file:///svn/toku/tokudb@44712 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
9da737bfb2
[t:5101] ft_sync + friends are dead code
...
git-svn-id: file:///svn/toku/tokudb@44710 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
f811db12aa
[t:5101] ftenv is dead code
...
git-svn-id: file:///svn/toku/tokudb@44709 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
b6b8dd84c4
[t:4905] closes #4905 Merge 4905b branch to main (removes pwrite lock)
...
git-svn-id: file:///svn/toku/tokudb@44315 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:47 -04:00
Zardosht Kasheff
d2d3de2efa
[t:4920], [t:4953], separate ydb lock from hot indexing and checkpointing
...
git-svn-id: file:///svn/toku/tokudb@44202 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:43 -04:00
John Esmet
1d8c299345
close[t:4715] merging 4715 to main. at a high level, ft files are removed by marking OPEN ft/cf's as unlink on close, so when the last reference goes away, the file is unlinked. we log this bit during a checkpoint's fassociate to help with aborting a hot index in the future (so it isn't stricly necessary right now).
...
git-svn-id: file:///svn/toku/tokudb@44003 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:37 -04:00
Zardosht Kasheff
f2c4fe13e8
[t:4875], [t:4887], merge from tokudb.4875 to main
...
git-svn-id: file:///svn/toku/tokudb@43896 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:37 -04:00
Yoni Fogel
3a208cebc4
closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines)
...
git-svn-id: file:///svn/toku/tokudb@43762 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:36 -04:00
Leif Walsh
3719bf2c2f
[t:4901] merging brt->ft rename to main
...
git-svn-id: file:///svn/toku/tokudb@43686 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:35 -04:00