Commit graph

267 commits

Author SHA1 Message Date
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
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
Rich Prohaska
f6476e0171 fix the ncursors > 0 assert in the nonleaf expand code caused when the cursor path traverses the child at the split point. addresses #119
git-svn-id: file:///svn/tokudb@928 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 01:07:48 +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
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
Rich Prohaska
b83bcb1be6 add DB_CURRENT. addresses #48
git-svn-id: file:///svn/tokudb@893 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 13:36:52 +00:00
Rich Prohaska
b7b40fc87d flush buffers when a node has become too big after a child split. closes #51
git-svn-id: file:///svn/tokudb@867 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-01 13:12:56 +00:00
Rich Prohaska
cec87512aa push down will get us partly home. addresses #51
git-svn-id: file:///svn/tokudb@862 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-30 17:40:04 +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
Rich Prohaska
be7474282c add key and data size limit check in db->put. closes #50
git-svn-id: file:///svn/tokudb@832 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 19:32:53 +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
0a6d3a6cc6 Rename a bunch of symbols to toku_symbols. Addresses #8.
git-svn-id: file:///svn/tokudb@826 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:34:49 +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
9f54dcef61 Rename a bunch of symbols to toku_symbols. Addresses #8.
git-svn-id: file:///svn/tokudb@823 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:09:14 +00:00
Bradley C. Kuszmaul
6b2f1c61b7 Rename a bunch of symbols to toku_symbols. Addresses #8.
git-svn-id: file:///svn/tokudb@822 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:44:03 +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
2020f63610 A bunch of symbols that don't start with toku_ are made static or start with toku_. Addresses #8.
git-svn-id: file:///svn/tokudb@800 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-28 19:00:21 +00:00
Bradley C. Kuszmaul
2ff8410687 Fix indentation
git-svn-id: file:///svn/tokudb@784 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-28 14:51:55 +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
Rich Prohaska
2a8344c090 add tree flags to the node to drive serialization of pivots. addresses #5
git-svn-id: file:///svn/tokudb@769 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 15:22:56 +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
b93b2eec7d The PRI macros actually seemed the cleanest way to fix this. Fixed #38.
git-svn-id: file:///svn/tokudb@758 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-26 18:47:44 +00:00
Rich Prohaska
88378bda52 search in a BRT with duplicate keys is equivalent to a DB_SET cursor get.
Addresses #19



git-svn-id: file:///svn/tokudb@748 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-25 18:17:01 +00:00
Bradley C. Kuszmaul
80154022be The recovered file is exactly the same as the original file for test_log2.tdb.
(The wrong LSN was being saved in the file.  The recovered version was right.)
Addresses #27.
(Also, it was broken, and that appears to be fixed.)


git-svn-id: file:///svn/tokudb@730 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-24 03:50:28 +00:00
Rich Prohaska
0d868bc7b4 close #17 dont put any DB_ flags in the tokudb header
git-svn-id: file:///svn/tokudb@707 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-22 01:05:00 +00:00
Bradley C. Kuszmaul
aab4d54f85 Log brtnode (but dumper cannot understand it yet.) Addresses #11
git-svn-id: file:///svn/tokudb@705 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-21 19:06:32 +00:00
Bradley C. Kuszmaul
5784ee45fb Log header
git-svn-id: file:///svn/tokudb@699 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-21 13:07:49 +00:00
Yoni Fogel
facc1abc31 When checking openflags from an ondisk header, ignore DB_CREATE and DB_EXCL
git-svn-id: file:///svn/tokudb@695 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-20 22:07:25 +00:00