Commit graph

208 commits

Author SHA1 Message Date
Rich Prohaska
9756a5df09 add dupsort insert, delete, lookup
git-svn-id: file:///svn/tokudb@634 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-19 00:46:09 +00:00
Bradley C. Kuszmaul
574016ffd3 More logging stuff
git-svn-id: file:///svn/tokudb@623 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-18 12:48:36 +00:00
Rich Prohaska
dfd26d869c serialize pivotflags
git-svn-id: file:///svn/tokudb@608 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-17 13:23:32 +00:00
Rich Prohaska
5b24c06e48 fix bug 3: use the application's compare function in the pma rather than the default compare function
git-svn-id: file:///svn/tokudb@604 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-16 22:06:27 +00:00
Rich Prohaska
96b7ff0908 BRTNODEs no longer point to BRTs
git-svn-id: file:///svn/tokudb@602 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-16 20:34:13 +00:00
Yoni Fogel
db9d08dda5 THINGS DONE:
0   Readded missing files i.e. regression tests.
    1
        svn add the new test (test_db_remove_subdb)
        Commit db->remove and the tokudb.bugs (bug 47 describes it)
    2
        Modified tests to use a test subdirectory for temp files,
        removed unneeded flags to DB_ENV->open
        test_db_dup.c
        test_db_already_exists.c
        test_db_close_no_open.c
        test_db_open_notexist_reopen.c
    3
        Added bug 48 (memory leak in DB->remove
        Need Valgrind to verify.
        svn add: test_db_remove_memleak.c


git-svn-id: file:///svn/tokudb@579 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-15 19:09:31 +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
70d7c7a3ec simplify the cachetable interface by removing all of the *_size
functions



git-svn-id: file:///svn/tokudb@498 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-19 14:07:41 +00:00
Rich Prohaska
f3acf3d40d fix the benchmark-test running out of vm space when running with large values
(--valsize 1024).



git-svn-id: file:///svn/tokudb@493 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-18 17:16:35 +00:00
Bradley C. Kuszmaul
c2227cb654 Be sure to set dirty bit in header
git-svn-id: file:///svn/tokudb@484 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-17 13:39:08 +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
Rich Prohaska
80bb78fd34 propagate app_private through cursors
git-svn-id: file:///svn/tokudb@392 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-04 15:23:41 +00:00
Bradley C. Kuszmaul
d4f76b0aa5 Put the parent pointers into every brtnode
git-svn-id: file:///svn/tokudb@388 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-03 19:34:31 +00:00
Rich Prohaska
a3d55db0fb make sure the db parameter is passed to the user's key compare function
when using cursors



git-svn-id: file:///svn/tokudb@385 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-03 14:51:23 +00:00
Rich Prohaska
99432c5d00 some commands are expected to fail (like a delete of a non-existent key)
propagate the error code back the call stack



git-svn-id: file:///svn/tokudb@383 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-02 19:19:44 +00:00
Rich Prohaska
3def1beae1 push commands down to in memory nodes
git-svn-id: file:///svn/tokudb@382 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-02 16:17:44 +00:00
Bradley C. Kuszmaul
cf23a48aa8 Get rid of #if 0 code
git-svn-id: file:///svn/tokudb@378 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-02 14:33:59 +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
04a16870ac add debug prints in the new cachetable
git-svn-id: file:///svn/tokudb@340 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-22 15:30:29 +00:00
Rich Prohaska
b0e3bdca20 change the cache table to act on the size of the objects rather than the number of objects stored in it
note that when the object size is 1, the cache table acts on the number of objects as before.

change the tree algorithms to update the object size in the cache table when the object is unpinned.



git-svn-id: file:///svn/tokudb@334 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-21 17:55:49 +00:00
Rich Prohaska
83407ae6bf Add a dirty bit to the BRT node object. This bit is set by code
that modifies the state of a BRT node object.  A node is unpinned with
its dirty bit passed to the cache table.



git-svn-id: file:///svn/tokudb@316 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-18 16:09:55 +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
Bradley C. Kuszmaul
7201ffd9e0 Improve cachetable testing
git-svn-id: file:///svn/tokudb@297 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-12 18:12:31 +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
f5be7117b5 brt cursor set and set range features
git-svn-id: file:///svn/tokudb@290 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-11 16:30:58 +00:00
Rich Prohaska
765ea049fd add brt cursor prev feature and test cases
git-svn-id: file:///svn/tokudb@282 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-07 20:25:54 +00:00
Rich Prohaska
d2858adb09 name change
git-svn-id: file:///svn/tokudb@281 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-07 13:51:47 +00:00
Rich Prohaska
c10712dee6 Change to implement delete by key. A BRT_DELETE command is injected into the
tree.  It replaces any INSERT or DELETE command with the same key at all
interior nodes.  It is translated into a PMA delete operation at a leaf
node.  

The database file format was changed for the contents of interior node
buffers to include a 1 byte type field.  There are currently 2 types:
BRT_INSERT and BRT_DELETE.




git-svn-id: file:///svn/tokudb@278 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-06 21:36:45 +00:00
Rich Prohaska
075df0ba24 remove some debug printfs
git-svn-id: file:///svn/tokudb@214 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-27 12:08:12 +00:00
Rich Prohaska
d17bae4542 get tree cursor set last working
git-svn-id: file:///svn/tokudb@186 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-24 12:10:49 +00:00
Rich Prohaska
f4a36c5707 tree cursors that can walk the tree
git-svn-id: file:///svn/tokudb@170 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-23 18:07:18 +00:00
Bradley C. Kuszmaul
2fcb4bfaaf Separate rbuf and wbuf so that log.c can use it. Check in a perliminary version of log.c
git-svn-id: file:///svn/tokudb@162 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-21 23:32:17 +00:00
Bradley C. Kuszmaul
1cd311c093 Speedup toku_hashtable_random_pick
git-svn-id: file:///svn/tokudb@134 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-14 18:50:52 +00:00
Bradley C. Kuszmaul
e9f6f94835 Make the cachetable 127 (prime) instead of 128
git-svn-id: file:///svn/tokudb@125 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 21:23:11 +00:00
Bradley C. Kuszmaul
18412a5f81 Increase buffer pool size
git-svn-id: file:///svn/tokudb@124 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 20:26:23 +00:00
Bradley C. Kuszmaul
30c3503219 Make it work with replace-or-insert
git-svn-id: file:///svn/tokudb@114 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 18:19:57 +00:00
Bradley C. Kuszmaul
b5d05c3f43 Make it work again
git-svn-id: file:///svn/tokudb@113 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 18:05:24 +00:00
Bradley C. Kuszmaul
5061feb58b up
git-svn-id: file:///svn/tokudb@112 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-13 18:04:39 +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
Bradley C. Kuszmaul
db3ba97ee5 Valgrind caught an error (uninitialized dirty bit)
git-svn-id: file:///svn/tokudb@80 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-01 16:01:52 +00:00
Bradley C. Kuszmaul
97d2b0d8aa Get rid of a bunch of valgrind warnings (none of which are real errors, probably)
git-svn-id: file:///svn/tokudb@76 c7de825b-a66e-492c-adef-691d508d4ae1
2007-08-01 02:37:21 +00:00
Bradley C. Kuszmaul
11303ab951 Compile on 64-bit
git-svn-id: file:///svn/tokudb@71 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-31 21:20:46 +00:00
Bradley C. Kuszmaul
1c8876eee6 Tests run again
git-svn-id: file:///svn/tokudb@68 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-30 21:44:27 +00:00
Bradley C. Kuszmaul
e6e8a2aebc Rename hash functions to avoid conflict with mysql
git-svn-id: file:///svn/tokudb@38 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-24 15:08:05 +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
0dca556c4f More work on making compare_fun
git-svn-id: file:///svn/tokudb@35 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-24 11:13:42 +00:00
Bradley C. Kuszmaul
3a649a8ac7 After lots of hacking, the reressions are OK again
git-svn-id: file:///svn/tokudb@34 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-24 03:28:48 +00:00
Bradley C. Kuszmaul
9724618448 regression tests starting to run
git-svn-id: file:///svn/tokudb@33 c7de825b-a66e-492c-adef-691d508d4ae1
2007-07-24 02:36:00 +00:00