Rich Prohaska
f1f9661f2a
remove cursor count from the brt node. closes #310
...
git-svn-id: file:///svn/tokudb@1914 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-26 23:11:38 +00:00
Rich Prohaska
d2d80add96
first cut or new cursors merge to trunk. addresses #250
...
git-svn-id: file:///svn/tokudb@1881 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 15:43:37 +00:00
Bradley C. Kuszmaul
9fe0391206
Add copyright 2008. Fixes #283 .
...
git-svn-id: file:///svn/tokudb@1844 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:10:32 +00:00
Bradley C. Kuszmaul
970234a759
Fix db-benchmark-test. Fixes #300 .
...
git-svn-id: file:///svn/tokudb@1841 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 13:51:34 +00:00
Bradley C. Kuszmaul
271137c959
test_log5 recovers correctly now. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1826 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 19:44:13 +00:00
Bradley C. Kuszmaul
28428074a1
Log the pivots correctly. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1822 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:29:06 +00:00
Bradley C. Kuszmaul
407c0ebebf
Log the fingerprints correctly. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1820 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:06:23 +00:00
Bradley C. Kuszmaul
015bc27f2f
Don't be wasteful when splitting brt leaves. Fixes #294 .
...
This makes big difference for space (46% smaller) and a small time difference (5% faster), as measured by benchmark-test.
Before:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial 8.753964s 119783/s random 5.640094s 185915/s cumulative 14.394118s 145695/s
serial 9.381472s 111771/s random 7.325284s 143145/s cumulative 31.100944s 134861/s
serial 9.859233s 106355/s random 6.734307s 155707/s cumulative 47.694553s 131911/s
serial 11.069200s 94729/s random 6.885863s 152280/s cumulative 65.649695s 127778/s
Shutdown 4.636875s
Total time 70.286611s for 8388608 insertions = 119349/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 730344924 Jan 22 11:47 sinsert.brt
}}}
After:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial 8.521855s 123046/s random 5.730942s 182967/s cumulative 14.252861s 147139/s
serial 9.106047s 115152/s random 7.001765s 149759/s cumulative 30.360740s 138149/s
serial 9.543696s 109871/s random 6.651000s 157657/s cumulative 46.555503s 135139/s
serial 10.627035s 98671/s random 6.555884s 159944/s cumulative 63.738491s 131610/s
Shutdown 2.818513s
Total time 66.557042s for 8388608 insertions = 126036/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 396894480 Jan 22 11:45 sinsert.brt
}}}
git-svn-id: file:///svn/tokudb@1798 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 16:27:54 +00:00
Bradley C. Kuszmaul
8e8588a9e4
Log block allocation. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1737 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 21:28:27 +00:00
Bradley C. Kuszmaul
278653d431
rollback for 5 now runs (but the files are wrong). Started working on a brtdump that will help debug this stuff. Right away I see important file differences after recover (the unused memory and unnamed root are wrong). Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1731 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 16:01:25 +00:00
Bradley C. Kuszmaul
fa33cff297
set child properly. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1718 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-17 19:36:44 +00:00
Bradley C. Kuszmaul
26bce089d0
Log node creation more accurately. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1716 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-17 19:03:37 +00:00
Bradley C. Kuszmaul
6bb86b7210
Log node splits better. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1714 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-17 15:41:42 +00:00
Bradley C. Kuszmaul
d0e64cf702
Log and recover for note splits works a little better. Addresses #27
...
git-svn-id: file:///svn/tokudb@1691 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-16 14:13:21 +00:00
Bradley C. Kuszmaul
9566acc430
Log node splits a little better. Addresses #27
...
git-svn-id: file:///svn/tokudb@1679 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-15 21:50:45 +00:00
Rich Prohaska
a9e1d29612
add Db::fd closes #231
...
git-svn-id: file:///svn/tokudb@1601 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 14:38:49 +00:00
Rich Prohaska
8bed771536
replace hashtables with fifos. addresses #249
...
git-svn-id: file:///svn/tokudb@1600 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 14:03:33 +00:00
Rich Prohaska
e7e5c4154a
simplify the cursor delete since the pivot flags are gone. addresses #250
...
git-svn-id: file:///svn/tokudb@1588 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-10 20:07:42 +00:00
Rich Prohaska
4374eb974f
add cursor next_dup, next_nodup, prev_dup, and prev_nodup. addresses #259
...
git-svn-id: file:///svn/tokudb@1585 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-10 16:10:06 +00:00
Rich Prohaska
3a29cecefb
remove pivot flags. addresses #250
...
git-svn-id: file:///svn/tokudb@1560 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-08 21:43:11 +00:00
Rich Prohaska
62da09d733
simplify. addresses #247 #250
...
git-svn-id: file:///svn/tokudb@1559 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-08 21:03:17 +00:00
Rich Prohaska
22a6b18356
use a cursor set to replace the brt_lookup function. addresses #252
...
git-svn-id: file:///svn/tokudb@1542 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 22:28:36 +00:00
Bradley C. Kuszmaul
faac0f364e
Remoe parent_brtnode. Fixes #251
...
git-svn-id: file:///svn/tokudb@1538 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 19:53:50 +00:00
Bradley C. Kuszmaul
e4f197a8bc
set layout_version to 1 (for 0.4.0). Addresses #118 . Fixes #248 .
...
git-svn-id: file:///svn/tokudb@1536 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 19:02:27 +00:00
Rich Prohaska
aed37ec51c
first cut of delboth addresses #182
...
git-svn-id: file:///svn/tokudb@1478 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-02 20:33:51 +00:00
Bradley C. Kuszmaul
b8eb150375
Get rid of gratuitous printing
...
git-svn-id: file:///svn/tokudb@1473 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-02 16:43:11 +00:00
Bradley C. Kuszmaul
aba273b645
Work on recovery bug. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1461 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-02 11:34:49 +00:00
Rich Prohaska
5fcadb2879
send delete cmds to both children when a nonleaf node expands. closes #201
...
git-svn-id: file:///svn/tokudb@1443 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-31 17:30:19 +00:00
Bradley C. Kuszmaul
2dd205aec4
a bug in the pma split code: The thisnodename was coming out wrong inside a pma
...
git-svn-id: file:///svn/tokudb@1367 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-26 16:52:55 +00:00
Bradley C. Kuszmaul
d2667c2627
c++ interface is implemented (up to a point) and every method that can raise an exception is tested in exceptions.cpp. Fixes #197 , #215 .
...
git-svn-id: file:///svn/tokudb@1334 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-23 01:09:09 +00:00
Bradley C. Kuszmaul
3439a6a2b8
Quiet down some of the newbrt tests. Addresses #13 .
...
git-svn-id: file:///svn/tokudb@1330 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-22 20:56:20 +00:00
Rich Prohaska
615aa1ca25
disabled in the code until it works. addresses #187
...
git-svn-id: file:///svn/tokudb@1221 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-18 21:44:14 +00:00
Rich Prohaska
ea16495aa8
handle cursor DB_SET into the right subtree. closes #186
...
git-svn-id: file:///svn/tokudb@1187 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-18 12:48:14 +00:00
Rich Prohaska
d984283041
implement and test cursor->get_both_range. addresses #187
...
git-svn-id: file:///svn/tokudb@1152 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-17 13:48:20 +00:00
Rich Prohaska
9290db6fcc
unified the cursor search for cursor set, get_both, set_range, and get_both_range. still need to prune the search for some of these operations.
...
addresses #186
git-svn-id: file:///svn/tokudb@1149 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-17 01:03:35 +00:00
Rich Prohaska
e61251778c
fix cursor->get_both in a dupsort db. closes #185
...
git-svn-id: file:///svn/tokudb@1135 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-14 20:51:27 +00:00
Rich Prohaska
8d098df137
cursor->del clears pivots if last match. closes #159
...
git-svn-id: file:///svn/tokudb@1114 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-13 14:53:18 +00:00
Yoni Fogel
a3cf241f96
Added additional error code in toku_deserialize_brtheader_from,
...
and toku_brt_open.
Files that fail assertions when loading the db, will now return EINVAL instead of assert-crashing.
Closes #160
Trying to open bdb db files does not cause us to crash anymore.
git-svn-id: file:///svn/tokudb@1087 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-11 20:03:12 +00:00
Yoni Fogel
7331e46492
Added DB_UNKNOWN to db.h
...
You can use DB_UNKNOWN as a dbtype (as long as you don't use DB_EXCL) in dbopen,
and then it will load the flags from the file.
tokudb_dump
Now supports duplicates/sorted duplicates.
tokudb_load will give a warning about any duplicate duplicate loads
but will continue with the rest of the data.
Closes #148
Closes #166
git-svn-id: file:///svn/tokudb@1086 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-11 19:34:21 +00:00
Yoni Fogel
123dd77a8f
c_pget makes certain never to touch original parameters until/unless success happens.
...
Code is cleaner now with less special cases, handles DB_DBT_(MALLOC|REALLOC|USERMEM) as well as no flags now.
Closes #144
git-svn-id: file:///svn/tokudb@1037 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-10 18:54:12 +00:00
Bradley C. Kuszmaul
6a3b4d643b
Recompute the fingerprint for DBC->c_del(). Fixes #154 .
...
git-svn-id: file:///svn/tokudb@1017 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-07 22:27:52 +00:00
Bradley C. Kuszmaul
7d0c797ac8
DB->associate(..., DB_CREATE, ...) now appears to work.
...
There was a bug in brt.c which checked to see if the number of pinned pages is zero at the beginning of a lookup. With an open cursor, that doesn't have to be true.
Fixes #64 , #141 .
git-svn-id: file:///svn/tokudb@1007 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-07 19:02:03 +00:00
Bradley C. Kuszmaul
3a073c1e17
Start moving more stuff out of dir. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@982 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 20:58:45 +00:00
Bradley C. Kuszmaul
6ab4529c91
Switch over the fingerprints to be in the subfield
...
git-svn-id: file:///svn/tokudb@977 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 19:16:18 +00:00
Rich Prohaska
4ccaaf0250
set h->dirty when h->unused_memory changes. closes #129
...
git-svn-id: file:///svn/tokudb@976 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 18:56:46 +00:00
Bradley C. Kuszmaul
d1569489ca
Get rid of childkeylens. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@964 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 14:30:33 +00:00
Bradley C. Kuszmaul
814b68e843
Get rid of another case where childkeylens are used. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@963 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 14:24:17 +00:00
Bradley C. Kuszmaul
4dfccf0d81
Get rid of a few more cases where childkeylens are used. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@962 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 14:20:47 +00:00
Bradley C. Kuszmaul
85a62db892
Nothing uses the childkeylens now. So we'll be able to remove them next. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@960 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 13:52:52 +00:00
Rich Prohaska
d1a42e495b
fix DB_NEXT_DUP when the cursor points to a deleted kv pair. closes #121
...
git-svn-id: file:///svn/tokudb@950 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 00:32:44 +00:00