John Esmet
7316bacdeb
FT-396 Rename TokuDB to TokuFT in each license header
2014-08-21 15:35:06 -04:00
John Esmet
2548a42617
FT-307 Add a 'memcmp magic' API, where users can specify that a
...
particular value for the first byte of a key means it may be compared
with memcmp and a length check.
FT-50 Implement toku_builtin_cmp_fun with memcmp and a length check
2014-07-08 15:37:35 -04:00
John Esmet
157e18040c
FT-294 Move cachetable files to ft/cachetable, txn files to ft/txn
...
FT-295 Move ybt.h to utils/dbt.h
2014-07-03 12:36:13 -04:00
John Esmet
7ffd1fab11
FT-242 Break up fttypes.h completely.
...
FT-296 Move bytestring class to utils/
2014-07-03 12:29:48 -04:00
John Esmet
47f57224b7
FT-273 Use a comparator in the locktree instead of a
...
descriptor/ft_compare_func pair
2014-06-26 11:35:53 -04:00
John Esmet
55b38998e8
FT-278 Put ft_msg in its own class and file, organize deserialization
...
and upgrade code so there's less complexity in ft/ft_node-serialize.cc
2014-06-23 14:29:07 -04:00
John Esmet
b33e859c6a
FT-273 Use a comparator object for fractal tree key comparisons when
...
possible, untangling the dependency between parameters 'ft->compare_fun' and
'ft->cmp_descriptor' in a sensible way. It is now much less necessary to
create a fake db (good) and some long parameter lists are now shorter
(it's a start)
2014-06-15 23:01:58 -04:00
John Esmet
6e2c421f10
FT-253 Remove remaining brt / brt_header era names
2014-06-15 14:57:36 -04:00
John Esmet
7fa10b52c2
Fix the osx build
2014-06-15 12:30:29 -04:00
John Esmet
e583525a40
FT-258 Move cursor code into ft/cursor.h and ft/cursor.cc
2014-06-14 20:25:34 -04:00
John Esmet
d2ab8a6253
FT-241 Use #pragma once as a header guard
2014-06-14 20:25:34 -04:00
John Esmet
39397aab93
FT-242 Begin breaking up fttypes.h by moving many things to their
...
appropriate headers
2014-06-14 20:24:46 -04:00
John Esmet
e0de0b2d96
fixes #158 Use promotion to record the blocknum of the rightmost
...
non-root leaf node in each FT. When the FT detects a rightmost insertion
pattern, it attempts to do inserts and unique checks directly into the
rightmost leaf node, greatly optimizing sequential insert speed.
2014-05-25 12:42:52 -04:00
John Esmet
e61903510a
Revert "FT-242 Begin breaking up fttypes.h by moving many things to their"
...
We will wait until after TokuMX 1.5.0 for these changes
This reverts commit 1927c6dd38
.
2014-05-23 18:29:27 -04:00
John Esmet
c92c8cc967
FT-242 Begin breaking up fttypes.h by moving many things to their
...
appropriate headers
2014-05-23 18:10:29 -04:00
Rich Prohaska
b2d2d85e0c
#218 cursor set range with bound
2014-04-25 13:41:57 -04:00
John Esmet
e20bccc17a
fixes #46 Add dynamic-value omt clone (dmt) and use it to implement basement nodes
2014-03-02 22:46:49 -05:00
John Esmet
d037524b70
fixes #188 Renamed the last brt artifacts to ft_handle. Tried to keep
...
comments etc sane by not dropping a big sed bomb. Hopefully things make
sense from here on out.
2014-03-02 18:04:37 -05:00
John Esmet
dfcffcc714
Allow txn manager state to be created cheaply, with the option to later
...
initialize it for full gc if we think it is worth it. This allows for
full gc to run when bringing a basement node up to date.
2014-02-21 19:57:19 -05:00
John Esmet
fb76250b7a
Consolidate garbage collection information into txn_gc_info. Explicitly
...
separate the difference between the oldest referenced xid we can use for
implicit promotion vs simple garbage collection.
2014-02-20 13:32:25 -05:00
John Esmet
8fc37abdcd
fixes #156 Add a parameter for the nonleaf partial eviction strategy
2014-01-22 12:56:45 -05:00
John Esmet
96a2a6fc96
fixes #134 Add the get/set/change_fanout API
2014-01-09 14:34:23 -05:00
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