Commit graph

87 commits

Author SHA1 Message Date
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