Rich Prohaska
9b89cd9c63
more testing of the pma search function. addresses #250
...
git-svn-id: file:///svn/tokudb@1894 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 22:12:02 +00:00
Bradley C. Kuszmaul
1ee574216a
start making db-benchmark-test recoverable. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1893 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 21:50:07 +00:00
Rich Prohaska
f1efa7b9a3
simplify the pma (remove the pma cursors and the deleted bit). closes #250
...
git-svn-id: file:///svn/tokudb@1891 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 20:44:16 +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
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
51d865dceb
Log the distribute for a split in the other order. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1799 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 18:33:51 +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
Rich Prohaska
69b27cccb8
simplify the pma searches. addresses #250
...
git-svn-id: file:///svn/tokudb@1780 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 21:03:23 +00:00
Bradley C. Kuszmaul
11e52586e6
Log and recover for note splits works a little better (recovery runs, but the file is wrong for test_log5). Addresses #27
...
git-svn-id: file:///svn/tokudb@1692 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-16 15:41:12 +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
89985a3175
Improve logging. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1690 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-16 13:50:23 +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
Bradley C. Kuszmaul
1b6c9ebca8
Undo pma movements. Addresses #253 .
...
git-svn-id: file:///svn/tokudb@1630 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-13 05:52:43 +00:00
Bradley C. Kuszmaul
ae00985a15
test_abort1.tdb runs. Addresses #253 .
...
git-svn-id: file:///svn/tokudb@1621 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-12 12:21:07 +00:00
Bradley C. Kuszmaul
d06d558776
Get abort to run a little bit. Addresses #253 .
...
git-svn-id: file:///svn/tokudb@1608 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 22:24:43 +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
f8f1691280
remove pivot flags. addresses #247
...
git-svn-id: file:///svn/tokudb@1558 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-08 21:02:36 +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
Rich Prohaska
fba743d22e
remove the unsorted duplicates code from the pma. addresses #247
...
git-svn-id: file:///svn/tokudb@1537 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 19:06:05 +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
Rich Prohaska
ccfa1a651a
remove debug code
...
git-svn-id: file:///svn/tokudb@1185 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-18 11:57:59 +00:00
Rich Prohaska
c7283d799f
pma_set now finds the leftmost non-deleted kv pair that matches the set key. closes #192
...
git-svn-id: file:///svn/tokudb@1157 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-17 17:09:54 +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
f28b2fedc1
there was a path through the pma_insert_or_replace function that did not set the replace_v_size parameter. this occurred when inserting a key that had been deleted with a cursor reference. closes #191
...
git-svn-id: file:///svn/tokudb@1148 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-16 20:57: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
8af05f08d6
set pma dupsort insert dup dup behaviour to replace. addresses #178
...
git-svn-id: file:///svn/tokudb@1132 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-14 13:18:47 +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
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
Rich Prohaska
55243e2e18
use DB_KEYEMPTY not BRT_KEYEMPTY. addresses #153
...
git-svn-id: file:///svn/tokudb@1013 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-07 20:32:59 +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
Rich Prohaska
230d0d4632
add DBC->get DB_NEXT_DUP. addresses #121
...
git-svn-id: file:///svn/tokudb@948 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 22:07:48 +00:00
Bradley C. Kuszmaul
ba1bd129d5
Can recover after 10 insertions. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@945 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 20:00:19 +00:00
Bradley C. Kuszmaul
a542433295
Make some of the PMA fields be unsigned.
...
Remove some leading __ (double underbars) from some symbols. (Addresses #8.)
Improve the verification of node sizes (because recovery is having trouble with this. Addresses #27.)
git-svn-id: file:///svn/tokudb@944 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 19:41:39 +00:00
Bradley C. Kuszmaul
3e29f976cc
Fix valgrind problems caused by logging. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@941 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 18:22:42 +00:00
Bradley C. Kuszmaul
accc92e4b0
Add some information needed for recovery. Changed the size of the serialization, and caused a new cursor bug to show up. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@927 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 22:18:21 +00:00
Bradley C. Kuszmaul
3ca8f1e01d
pma move logging works better. Addresses #27
...
git-svn-id: file:///svn/tokudb@920 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 17:59:03 +00:00
Bradley C. Kuszmaul
8c37306c4e
pma move logging works better
...
git-svn-id: file:///svn/tokudb@918 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 16:16:30 +00:00
Bradley C. Kuszmaul
4fd00d7311
Log some pma movements. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@911 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 10:02:59 +00:00
Bradley C. Kuszmaul
22d8e86bc9
Fix the DBT problem for duplicate keys. Fixes #101 .
...
git-svn-id: file:///svn/tokudb@857 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-30 15:17:37 +00:00
Bradley C. Kuszmaul
df410defa7
Rename the last bunch of symbols to toku_symbols. Closes #8 .
...
git-svn-id: file:///svn/tokudb@829 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 18:14:40 +00:00
Bradley C. Kuszmaul
77ab644ef6
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@824 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:17:46 +00:00
Bradley C. Kuszmaul
1a155723d6
Add copyrights using #ident on the top of newbrt sources. Addresses #54 .
...
git-svn-id: file:///svn/tokudb@817 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:18:54 +00:00
Rich Prohaska
67dc4d5e3e
addresses #8
...
git-svn-id: file:///svn/tokudb@807 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-28 20:51:16 +00:00
Rich Prohaska
d074a42ec6
cursor DB_SET op should not change the key. closes #73
...
git-svn-id: file:///svn/tokudb@804 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-28 19:46:39 +00:00
Rich Prohaska
8ff534e152
use kv-pair's to contain the pivot key and data. closes #37
...
git-svn-id: file:///svn/tokudb@770 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 18:16:45 +00:00
Bradley C. Kuszmaul
a9bae208c4
src/tests/test_log3.recover now works (can recover after inserting one thing into a BRT. Addresses #27 . Closes #43 .
...
git-svn-id: file:///svn/tokudb@767 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 10:48:31 +00:00
Bradley C. Kuszmaul
9da9621873
Stop passing DB* everywhere. Instead store it in the BRT and PMA structs. Fixes #39 .
...
git-svn-id: file:///svn/tokudb@761 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-26 21:51:36 +00:00
Bradley C. Kuszmaul
fd2e07c904
Make all external symbols in pma.o start with toku_. Addresses #8
...
git-svn-id: file:///svn/tokudb@677 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-20 00:32:25 +00:00
Rich Prohaska
caad214427
use TOKU_DB_DUPSORT internally
...
git-svn-id: file:///svn/tokudb@664 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-19 20:22:56 +00:00