Commit graph

49 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
712fcc5da1 Many things:
Make txn->abort work without bombing out for {{{test_txn_abort5}}} one case. Fixes #431.
 Start writing {{{test_txn_abort6}}}.   Addresses #443.
 Try to write a test for #399 and #400, but haven't managed to reproduce the problem.  Addresses #399, #400.
 Write a test for #332.  Addresses #332.


git-svn-id: file:///svn/tokudb@2406 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-25 22:46:48 +00:00
Bradley C. Kuszmaul
d9f3060f83 Rework the way transactions ids are used in the log (xid's on messages are used when inserting something into a leaf.) Addresses #27.
git-svn-id: file:///svn/tokudb@2199 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 19:54:00 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bradley C. Kuszmaul
897e28c38a Get rid of conflict on {{{index}}}. Fixes #56.
git-svn-id: file:///svn/tokudb@782 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-28 14:21:22 +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
Bradley C. Kuszmaul
252ec01833 Make all external symbols in key.o start with toku_. Addresses #8
git-svn-id: file:///svn/tokudb@676 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-20 00:02:51 +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
Rich Prohaska
db85f45bf3 build the dupsort split key
git-svn-id: file:///svn/tokudb@605 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-16 22:44:56 +00:00
Rich Prohaska
1620ec5815 remove app_private; merge in dup pma;
git-svn-id: file:///svn/tokudb@567 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-15 14:44:05 +00:00
Bradley C. Kuszmaul
48f0ad74b5 Up
git-svn-id: file:///svn/tokudb@519 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-14 17:58:38 +00:00
Rich Prohaska
c69bbcf7ff pma uses a memory pool
git-svn-id: file:///svn/tokudb@436 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-10 19:33:31 +00:00
Bradley C. Kuszmaul
710cf343a3 Merge logging
git-svn-id: file:///svn/tokudb@371 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-28 17:11:22 +00:00
Rich Prohaska
4564dd3b9a brt cursor get both feature
git-svn-id: file:///svn/tokudb@301 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-12 20:30:36 +00:00
Rich Prohaska
204f68ed3f implement delete under brt cursor
git-svn-id: file:///svn/tokudb@291 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-11 18:32:10 +00:00
Rich Prohaska
7ac29707b1 cursor set key and set range
git-svn-id: file:///svn/tokudb@284 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-10 17:53:30 +00:00
Rich Prohaska
361c348315 get the bound pma
git-svn-id: file:///svn/tokudb@158 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-20 15:50:46 +00:00
Bradley C. Kuszmaul
ef0260e57c insert_or_replace in one step
git-svn-id: file:///svn/tokudb@111 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 18:01:09 +00:00
Rich Prohaska
381c56c9f9 use pma split in the brt split leaf
git-svn-id: file:///svn/tokudb@103 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-09 18:54:58 +00:00
Rich Prohaska
6a8eb4ed2a update pma cursors whenever the kv pairs are moved in the pma index.
add pma_bulk_insert functionality.



git-svn-id: file:///svn/tokudb@89 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-06 19:43:27 +00:00
Rich Prohaska
28ba0b259d split a pma into 2, cursors on the pma not yet implemented
git-svn-id: file:///svn/tokudb@63 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-30 16:32:46 +00:00
Bradley C. Kuszmaul
0243ed5122 Fix up type conflicts with ydb.c
git-svn-id: file:///svn/tokudb@37 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-24 14:34:05 +00:00
Bradley C. Kuszmaul
a52b758eb9 pma with compare fun works, and also uses DBTs for most interface work
git-svn-id: file:///svn/tokudb@31 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-23 20:10:16 +00:00
Bradley C. Kuszmaul
0a13028a99 More test cases
git-svn-id: file:///svn/tokudb@30 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-23 15:11:54 +00:00
Bradley C. Kuszmaul
bb3f65d84e pma_cursor_next almost works
git-svn-id: file:///svn/tokudb@20 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-20 12:41:23 +00:00
Bradley C. Kuszmaul
2f8ec84fb8 Rename
git-svn-id: file:///svn/tokudb@4 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-13 19:37:47 +00:00