Commit graph

510 commits

Author SHA1 Message Date
Yoni Fogel
4b81ce0d1d Modified test_dup_dup to handle more cases. Addresses #124
git-svn-id: file:///svn/tokudb@966 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 16:51:34 +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
Rich Prohaska
34dba08d89 create static bins by linking with libdb.a. addresses #55
git-svn-id: file:///svn/tokudb@961 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 13:54:26 +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
1b16c0e1d1 addresses #124
git-svn-id: file:///svn/tokudb@959 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 13:14:19 +00:00
Rich Prohaska
14f8319ea4 addresses #125
git-svn-id: file:///svn/tokudb@958 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 12:08:25 +00:00
Bradley C. Kuszmaul
6ac3943735 Start making structs for the children. Addresses #126.
git-svn-id: file:///svn/tokudb@957 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 12:00:24 +00:00
Bradley C. Kuszmaul
eeb476bdc4 Oops, caused a crash. Addresses #27.
git-svn-id: file:///svn/tokudb@956 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 11:59:35 +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
Yoni Fogel
2a86cadd11 Added test test_cursor_delete_next to test another boundary case of DB_NEXT_DUP.[[BR]]
It is possible to do a cursor delete and then a DB_NEXT_DUP.[[BR]]
BDB handles this properly.
Addresses #121

git-svn-id: file:///svn/tokudb@949 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 23:00:25 +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
9801c3a7aa Speed up recovery (a lot) by removing an assertion. Addresses #27.
git-svn-id: file:///svn/tokudb@947 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 20:40:39 +00:00
Bradley C. Kuszmaul
080f823012 Get rid of memory leaks. Addresses #27.
git-svn-id: file:///svn/tokudb@946 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 20:28:33 +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
Yoni Fogel
f9cf264d03 Add c_pget to DB->cursor
closes #107

git-svn-id: file:///svn/tokudb@943 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 19:32:09 +00:00
Rich Prohaska
6a762592d1 add c_pget to db.h addresses #107
git-svn-id: file:///svn/tokudb@942 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 19:26:19 +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
Rich Prohaska
bacd9f5bdf add boundary tests. addresses #121
git-svn-id: file:///svn/tokudb@940 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 14:54:13 +00:00
Rich Prohaska
bab5a29155 add DB_NEXT_DUP test case. addresses #121
git-svn-id: file:///svn/tokudb@939 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 14:40:47 +00:00
Yoni Fogel
2a3fc11143 DB->del works with secondary indexes that support duplicate keys.
Addresses #112
Needs #121 to be finished before we can close it.

git-svn-id: file:///svn/tokudb@933 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 04:56:22 +00:00
Yoni Fogel
d4434535b4 Finished splitting functions into regular/noassociate versions.
Fixed bug where DB->del tried to delete the primary key (instead of secondary key) from
secondary indexes

Closes #117
Closes #120

git-svn-id: file:///svn/tokudb@932 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 04:14:05 +00:00
Yoni Fogel
f35e999b1e Split db_put into two functions (noassociate/regular)
addresses #116

git-svn-id: file:///svn/tokudb@931 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 02:43:16 +00:00
Yoni Fogel
313231574e Cleaned up c_get and c_pget,
returned SECONDARY_BAD for c_pget,
addresses #116

git-svn-id: file:///svn/tokudb@930 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 02:38:20 +00:00
Yoni Fogel
eb0b85faa0 DB->get split into two functions to avoid using
DB_NOASSOCIATE
addresses #116

git-svn-id: file:///svn/tokudb@929 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 01:34:06 +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
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
Rich Prohaska
b970af1bcd strip libs and utils. addresses #74
git-svn-id: file:///svn/tokudb@919 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 16:36:25 +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
Rich Prohaska
8ed7c1b53c add copyright. addresses #74
git-svn-id: file:///svn/tokudb@914 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 13:14: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
Yoni Fogel
f3e3d96fe1 do_associated_deletes now supports
deleting from dbs with duplicates.
addresses #112

git-svn-id: file:///svn/tokudb@906 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 19:58:46 +00:00
Bradley C. Kuszmaul
d30c4c29ba Start trying to do recovery on many insertions. Addresses #27.
git-svn-id: file:///svn/tokudb@905 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 19:23:10 +00:00
Bradley C. Kuszmaul
8eccc81621 "A more complete solution to Ticket #105
We want to be able to do 
 make VGRIND=
and not end up having the extra valgrind parameters passed around.
Addresses #105.


git-svn-id: file:///svn/tokudb@904 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 19:19:20 +00:00
Yoni Fogel
82c9ba262b DB->get and DB->pget had repeated very similar code.
DB->get (on secondary indexes) now call DB->pget instead of having almost identical code.

git-svn-id: file:///svn/tokudb@903 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 19:11:08 +00:00
Rich Prohaska
8eb4977f44 add bdb-4.5. addresses #104
git-svn-id: file:///svn/tokudb@898 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 18:44:41 +00:00
Yoni Fogel
6a846a87ae DB->associate no longer allows primary dbs to support duplicates
Closes #111

git-svn-id: file:///svn/tokudb@896 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 16:38:58 +00:00
Rich Prohaska
49410dd68c test cursor DB_CURRENT. addresses #48
git-svn-id: file:///svn/tokudb@894 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 13:56:17 +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
Yoni Fogel
81981d003b logformat is run before other prerequisites
so newbrt/log_header.h and newbrt/log_code.c are generated even if missing.
Closes #60.

git-svn-id: file:///svn/tokudb@891 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 05:21:28 +00:00
Yoni Fogel
68e02ebb0c {{{
Added DB_SECONDARY_BAD to db.h
Added DB_CURRENT to db.h

    DB->get         (now returns DB_SECONDARY_BAD when appropriate)
    DB->pget        (now returns DB_SECONDARY_BAD when appropriate)
    ** DBC->c_get   (works with associate)
    ** DBC->c_pget  (added function, works with associate, but not in header yet)
    ** *DBC->c_del  (works with associate)
    *DB->del        (works with associate)

*   May not work properly with duplicates.
*   Question: Do I have to use
        search_val.flags = DB_DBT_MALLOC;
            and
        free(search_val.data);
**  Requires DB_CURRENT to be supported in toku_brt_cursor_get
}}}
addresses #48


git-svn-id: file:///svn/tokudb@890 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 05:01:43 +00:00
Yoni Fogel
46907c25ed Prevent DB->put from working on secondary indexes
(unless called internally with DB_NO_ASSOCIATE flag set)

Modified test_db_secondary to verify this behavior.
Closes #106

git-svn-id: file:///svn/tokudb@888 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 02:18:48 +00:00
Yoni Fogel
5b7b4df07c Port Makefile to OSX. Closes #105
git-svn-id: file:///svn/tokudb@887 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-03 01:59:46 +00:00
Rich Prohaska
1f19feab4c move the crash from deep in tokudb to the app. addresses #48
git-svn-id: file:///svn/tokudb@874 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-01 21:06:02 +00:00
Rich Prohaska
b7f3b0be7e remove reference to set_lk_max. addresses #104
git-svn-id: file:///svn/tokudb@872 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-01 17:45:53 +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
Bradley C. Kuszmaul
18afd50585 make secondary work a little longer. Addresses #48.
git-svn-id: file:///svn/tokudb@863 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-30 18:07:11 +00:00