Commit graph

122 commits

Author SHA1 Message Date
Yoni Fogel
a5e7b6aca6 Refs Tokutek/ft-index#46 Rename dmt_size->num_klpairs, dmt_iterate*->iterate* 2014-01-29 20:59:36 -08:00
Yoni Fogel
7a2e9511a3 Refs Tokutek/ft-index#46 improve test coverage, minor formatting 2014-01-29 20:59:28 -08:00
Yoni Fogel
6b0c108cff Refs Tokutek/ft-index#46 Killed dmt_functor<> template. Added dmtwriter_t template parameter to dmt and some documentation 2014-01-29 20:59:17 -08:00
Yoni Fogel
b0ccec783a Refs Tokutek/ft-index#46 Add dmt (dynamic OMT)
Use dmt to replace omt in bn_data class for storing leafentries.
Optimization for serial inserts and mempool
2014-01-29 20:53:35 -08:00
John Esmet
625d852692 fixes #145 Destroy resources outside of the pair's write lock during
partial eviction
2014-01-23 16:59:49 -05:00
John Esmet
75052cdc11 fixes #127 Add a class for scoped mallocs, which are satisfied from a
thread-local buffer when possible.
2014-01-23 16:57:04 -05:00
John Esmet
fbc1f5933e fixes #146 Add context class and track the current writer/context in the
frwlock
2014-01-22 13:18:49 -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
e1a82f88ab fixes #142 Always use quicklz when partially evicting an internal node
partition
2014-01-21 13:04:35 -05:00
John Esmet
773bb8c945 fixes #132 Calculate size delta statistics once during the partial
eviction callback
2014-01-21 13:04:35 -05:00
John Esmet
96a2a6fc96 fixes #134 Add the get/set/change_fanout API 2014-01-09 14:34:23 -05:00
Zardosht Kasheff
046f70889d Merge branch 'bugs/113' 2013-12-06 15:01:39 -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
John Esmet
7944bc8a34 Fix build 2013-10-09 11:57:53 -04:00
Rich Prohaska
2796c2d35c tokutek/ft-index#76 add US Patent 8,489,638 2013-10-04 16:49:53 -04:00
Zardosht Kasheff
64cdcbc261 refs #61,
- have closed cachefiles not immedietely free pairs, but set them to the side
 - leave freeing of pairs to the evictor and/or shutdown
 - should a cachefile be reopened before all pairs are freed,
   the pairs belonging to that cachefile are reintegrated into the cachetable
2013-10-02 09:53:00 -04:00
Yoni Fogel
bf4c67f20d refs #46, LOTS of refactoring done.
Isolate mempool and OMT into a new class, bndata.
Remove key from the leafentry.
2013-09-25 11:07:30 -04:00
Zardosht Kasheff
dd20367fd5 refs #48, remove unnecessary paranoid_invariant 2013-08-19 14:06:37 -04:00
Yoni Fogel
68bcf15b2f Merge branch '6712'
Refs Tokutek/ft-engine#40 Merge bulk fetch bugfix
2013-07-18 16:05:42 -07:00
Yoni Fogel
b2ab84094d Refs Tokutek/ft-engine#40 Fix bug with checking left/right ranges of bounded query and interaction with bulk fetch
Add regression test
2013-07-18 16:03:01 -07:00
Yoni Fogel
4ed0e8ed62 Merge branch '6712' 2013-07-17 15:09:47 -07:00
Yoni Fogel
260df68320 Refs trac [t:6712], Refs Tokutek/ft-engine#40 When possible, optimize by only checking left or right bound during a bounded query 2013-07-17 14:55:23 -07:00
Yoni Fogel
cf30466f4f Refs trac 6712, Refs Tokutek/ft-engine#40 Reduce computation time when we read something out of bounds (do not look in other basement/leaf nodes) 2013-07-17 14:55:23 -07: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
John Esmet
9858bf38c0 refs #5770 Only check one basement node on pin, remove the assumption that adjacent
available nodes are query-able.
2013-07-15 11:36:31 -04:00
Rich Prohaska
57b8de7363 #17 gracefull db open 2013-06-24 10:53:31 -04:00
Yoni Fogel
7f84d4b7a4 refs #25. Fix (test-only) bug where db_env_set_toku_product_name would not get called for some tests because they were lower than ydb layer 2013-06-12 08:31:32 -07:00
Yoni Fogel
a5770c1ce1 refs #25. Makes product name configurable via
db_env_set_toku_product_name
2013-06-11 19:44:52 -07:00
Leif Walsh
c64a51a2be remove overactive assert that in_memory_stats.numbytes is nonnegative #18 2013-05-28 16:31:15 -04: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
88def6a5cb fix or suppress errors due to -Wmaybe-uninitialized in GCC 4.8
closes #13
2013-05-06 08:30:03 -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
Zardosht Kasheff
73b86e51c4 refs #6300, fix on main
git-svn-id: file:///svn/toku/tokudb@54569 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
798f83412e refs #6286 Reorganized static asserts and status macros so c++11 features stay out of exported headers
git-svn-id: file:///svn/toku/tokudb@54546 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
8c06138f58 refs #6286 Removed TOKDUB_ prefixes from all column names for global status.
Added static asserts that prevent accidentally adding global status variables that start with TOKU

git-svn-id: file:///svn/toku/tokudb@54509 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
22e332838a refs #6286 Add 148 items to information schema.global_status
git-svn-id: file:///svn/toku/tokudb@54507 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
e8226b79b8 refs #6286 Add infrastructure to use column names for info schema
git-svn-id: file:///svn/toku/tokudb@54506 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
5028ac0cb8 refs #6287 Fully remove old debug info
git-svn-id: file:///svn/toku/tokudb@54500 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Rich Prohaska
930aacc602 refs #5820 remove debug printf
git-svn-id: file:///svn/toku/tokudb@54495 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -04:00
Yoni Fogel
2ea274c9f5 refs #5820 Merge information schema to mainline
git-svn-id: file:///svn/toku/tokudb@54478 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:31 -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
a85f32968c refs #6058, merge to main!
git-svn-id: file:///svn/toku/tokudb@54234 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:30 -04:00
Zardosht Kasheff
d865cbdeb5 refs #5737, merge to main
git-svn-id: file:///svn/toku/tokudb@53577 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:30 -04:00
Zardosht Kasheff
40c1bc80c5 refs #6057, merge backing out of read txn work to main
git-svn-id: file:///svn/toku/tokudb@53466 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:29 -04:00
Zardosht Kasheff
6ee0cf44ea closes #5978, merge to main
git-svn-id: file:///svn/toku/tokudb@53062 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:29 -04:00
John Esmet
c944625f22 refs #5918 derp
git-svn-id: file:///svn/toku/tokudb@52335 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:27 -04:00
John Esmet
bde258f5dd refs #5918 break down serialize/compress etc times into leaf vs nonleaf
git-svn-id: file:///svn/toku/tokudb@52331 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:27 -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