Commit graph

281 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
aa4caae5e4 Compression numbers measured and mailed out to tokueng. Addresses #1131.
git-svn-id: file:///svn/tokudb.1131@5970 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:17 -04:00
Rich Prohaska
bcacaae98e more the root_put_counter to the brt object. this speeds up cursor operations. we will address multiple brt handles later. addresses #1054
git-svn-id: file:///svn/tokudb@5651 c7de825b-a66e-492c-adef-691d508d4ae1
2008-08-14 01:00:48 +00:00
Yoni Fogel
df1c7a9379 Addresses #903
Created function that peeks at both key and value at the same time
(to avoid repeated OMT calls).
This was worth 4-5% performance in scanscan --lwc --prelock --prelockflag


git-svn-id: file:///svn/tokudb@5386 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-28 17:55:14 +00:00
Yoni Fogel
b5d3b778d6 Addresses #903
Speed up light weight cursors.
Instead of asking the brt to use 'copyout' (by passing key and/or val pointers)
we pass in NULLs to brt_cursor_get.
We then later use the peek_current functions to obtain pointers to the current
key and val of the cursor.

That was worth ~22% reduction in time for scanscan --lwc --prelock --prelockflag

Also, now copyout quits immediately if both key and val are NULL
This increased the (total) value of the patch to ~30% reduction  in time.

git-svn-id: file:///svn/tokudb@5383 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-28 16:19:59 +00:00
Bradley C. Kuszmaul
9b7fdbcfd0 Convert from crc to x1764. Fixes #1021.
git-svn-id: file:///svn/tokudb@5363 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-27 22:16:49 +00:00
Bradley C. Kuszmaul
5c3ec7de12 Revert the murmur checksum. Addresses #1021.
{{{
svn merge https://svn.tokutek.com/tokudb/tokudb.1021@5184 https://svn.tokutek.com/tokudb/tokudb.1021@5107  
}}}
and fix a simple conflict.


git-svn-id: file:///svn/tokudb@5275 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-23 03:47:05 +00:00
Yoni Fogel
daf9154cf8 Closes 1036
Fixes the memory leak with callback invalidation

git-svn-id: file:///svn/tokudb@5274 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-23 02:43:42 +00:00
Yoni Fogel
6ccb067147 Addresses #1032
Standardize unsigned ints:
uint8_t -> u_int8_t
uint32_t -> u_int32_t
uint64_t ->u_int64_t
Windows seems to differentiate between the two, linux does not.

git-svn-id: file:///svn/tokudb@5239 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 18:00:38 +00:00
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
Rich Prohaska
efc9a8aa39 merge db->truncate to main. closes #968
git-svn-id: file:///svn/tokudb@5218 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 02:34:13 +00:00
Bradley C. Kuszmaul
66cd2fdd01 Merge is tokudb.1021 changes. Addresses #1021.
{{{
svn merge -r5107:5184 https://svn.tokutek.com/tokudb/tokudb.1021
}}}


git-svn-id: file:///svn/tokudb@5214 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-20 14:08:55 +00:00
Bradley C. Kuszmaul
273b90ab7f Remove memory leak. Fixes #1025.
git-svn-id: file:///svn/tokudb@5165 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-17 19:54:11 +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
Rich Prohaska
c7c25f5c7e treak the seq insert algorithm. addresses #1003
git-svn-id: file:///svn/tokudb@5091 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-13 00:04:22 +00:00
Bradley C. Kuszmaul
fd6a6d1447 Merge in the tokudb.1017 patches to the main branch. Fixes #1017.
{{{
$ (cd tokudb;svn merge -r5048:5080 https://svn.tokutek.com/tokudb/tokudb.1017 )
$ svn delete tokudb.1017
}}}


git-svn-id: file:///svn/tokudb@5081 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-11 22:00:06 +00:00
Bradley C. Kuszmaul
bf807a8af8 Fixes #853. {{{svn merge -r5009:5043 https://svn.tokutek.com/tokudb/tokudb.853}}}.
git-svn-id: file:///svn/tokudb@5046 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-10 18:46:41 +00:00
Rich Prohaska
4ac45ace29 detect mostly sequential insertions. addresses #1003
git-svn-id: file:///svn/tokudb@4979 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-08 11:08:15 +00:00
Rich Prohaska
25019cfce5 reset the seq inserts counter when a node splits
git-svn-id: file:///svn/tokudb@4823 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-30 20:15:38 +00:00
Bradley C. Kuszmaul
f714e3e873 Merge in the final hash shortcuts.
{{{
svn merge -r4633:4638 https://svn.tokutek.com/tokudb/tokudb.906
}}}

Addresses #906.


git-svn-id: file:///svn/tokudb@4639 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 21:38:01 +00:00
Rich Prohaska
77f3953c85 test case for bug 935. addresses #935
git-svn-id: file:///svn/tokudb@4635 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 20:49:50 +00:00
Rich Prohaska
798e923370 merge some more seq insert code to main. addresses #896
git-svn-id: file:///svn/tokudb@4627 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 10:22:06 +00:00
Rich Prohaska
f4ec866165 merge some seq insert code to main. addresses #896
git-svn-id: file:///svn/tokudb@4626 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 10:02:06 +00:00
Bradley C. Kuszmaul
6b685145d1 Merge {{{tokudb.906}}} into {{{tokudb}}}. Very few hash calls remain.
Did
{{{
svn merge -r4600:4610 https://svn.tokutek.com/tokudb/tokudb.906
}}}
and delete the 906 branch.

Fixes #906.


git-svn-id: file:///svn/tokudb@4615 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 00:30:36 +00:00
Bradley C. Kuszmaul
4db5b5063c Did
{{{
svn merge -r4556:4568 https://svn.tokutek.com/tokudb/tokudb.906
}}}
to incorporate the hash improvements.

Addresses #906.


git-svn-id: file:///svn/tokudb@4596 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 17:05:19 +00:00
Rich Prohaska
d79133ce1f bias the pivot search in favor of appends to the dictionary. addresses #896
git-svn-id: file:///svn/tokudb@4546 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-16 01:26:51 +00:00
Bradley C. Kuszmaul
9ebb4b4080 Don't always fill with zeros. Fixes #917. Gives some speedups on random.
git-svn-id: file:///svn/tokudb@4543 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 17:09:14 +00:00
Bradley C. Kuszmaul
a4f4d06ff9 Merge the streamlining changes from #911. Fixes #911.
git-svn-id: file:///svn/tokudb@4500 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 20:32:22 +00:00
Rich Prohaska
da3b69356c merge branch 838 to main. addresses #838
git-svn-id: file:///svn/tokudb@4493 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 13:53:39 +00:00
Rich Prohaska
68e6ca2097 need to update the cursor when skipping provisionally deleted leaf entries. addresses #889
git-svn-id: file:///svn/tokudb@4367 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-04 22:58:07 +00:00
Yoni Fogel
f9982d4a47 Addresses #855, #856.
Bugfix in integration of omt cursors.
We were considering provdel leaf entries as not deleted.

git-svn-id: file:///svn/tokudb@4343 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 16:45:15 +00:00
Yoni Fogel
eb41b7c0c7 Addresses #855, #856. Integrate OMT cursors with BRT for DB_PREV
git-svn-id: file:///svn/tokudb@4328 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 21:35:02 +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
5952205957 After swapping the order of the free and the alloc of the leafentry, I messed up because the alloc might move the leafentry, so the leafentry's size must be computed while the pointer is still good. Fixes #881.
git-svn-id: file:///svn/tokudb@4276 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 21:38:46 +00:00
Bradley C. Kuszmaul
e7150422f4 Probably repairs #880. Addresses #880.
git-svn-id: file:///svn/tokudb@4259 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 17:12:45 +00:00
Bradley C. Kuszmaul
0c5f094e26 Probably repairs #880. Addresses #880.
git-svn-id: file:///svn/tokudb@4258 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 17:05:03 +00:00
Bradley C. Kuszmaul
d4a80654d1 Simplfy the logic a little. Addresses #880.
git-svn-id: file:///svn/tokudb@4256 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 16:28:37 +00:00
Bradley C. Kuszmaul
8f6bbeb225 Please run the test case under the debugger (compiled with -O0), and then in gdb when it bombs do the following commands.
{{{
(gdb) print original_mp
(gdb) print last_total_size_needed
(gdb) up
(gdb) print *mp
(gdb) where
}}}


Addresses #880. 


git-svn-id: file:///svn/tokudb@4255 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 16:21:28 +00:00
Bradley C. Kuszmaul
e9323991d7 {{{
svn delete tokudb.872
cd tokudb
svn merge -r4187:4233 https://svn.tokutek.com/tokudb/tokudb.872
}}}

Fixes #849, #872.
Addresses #820.


git-svn-id: file:///svn/tokudb@4234 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 03:12:59 +00:00
Bradley C. Kuszmaul
c82a8af504 Merge the changes for #871 and #406 into the main line as
{{{
$ cd tokudb; svn merge -r 4179:4181 https://svn.tokutek.com/tokudb/tokudb.871
$ svn delete tokudb.871
}}}

Fixes #871.  Addresses #406.  (Possibly fixes both.)


git-svn-id: file:///svn/tokudb@4182 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-28 01:22:51 +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
b846ceaa9a Addresses #860
Removed extra mallocs and memcopies for toku_c_get
when the dbts use anything other than DB_DBT_USERMEM

git-svn-id: file:///svn/tokudb@4121 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-24 17:22:14 +00:00
Bradley C. Kuszmaul
fbc83b1cda Hacked fix for #832. Don't promote unless there's space for a max pivot key.
git-svn-id: file:///svn/tokudb@4105 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-23 17:04:21 +00:00
Bradley C. Kuszmaul
f60c54cad0 Fixes #22, #333 and Addresses #818:
* Create an exact bit (#818) for the sums (but doesn't calculate it.)
 * Add magic to the file header (#22)
 * Add per-subdb dupsort flags. (#333).

Did
{{{
$ cd tokudb
$ svn merge -r3990:4094 https://svn.tokutek.com/tokudb/tokudb.818/
$ cd ..
$ svn delete tokudb.818
}}}


git-svn-id: file:///svn/tokudb@4095 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-22 21:28:00 +00:00
Bradley C. Kuszmaul
0534cbcbaa Clean up the debug argument that is passed all around. Addresses #832.
git-svn-id: file:///svn/tokudb@4036 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-20 23:47:39 +00:00
Bradley C. Kuszmaul
2f47bef9e1 Add information that is printed in the #832 assertion fails. Also, don't actually assert a failure unless the node size got out of control. Thus, if the estimate is too low, print an message and proceed if possible. Addresses #832.
git-svn-id: file:///svn/tokudb@3988 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-17 00:49:13 +00:00
Bradley C. Kuszmaul
9c26f7c6f8 The proposed fix for #789. Addresses #789.
git-svn-id: file:///svn/tokudb@3983 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 18:48:23 +00:00
Bradley C. Kuszmaul
79df5188a4 memcmp does not accurately determine whether two keys are the same. Take out the overactive assertion. Addresses #788, #789.
git-svn-id: file:///svn/tokudb@3980 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 13:47:02 +00:00
Bradley C. Kuszmaul
bdc7ee0c2f Back out. Addresses #788, #789.
git-svn-id: file:///svn/tokudb@3978 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 13:16:29 +00:00