Commit graph

1083 commits

Author SHA1 Message Date
Yoni Fogel
b4e57469ef Lock tree, range tree documentation.
git-svn-id: file:///svn/tokudb@2331 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-18 19:42:49 +00:00
Yoni Fogel
5fc172b7aa White space changes
git-svn-id: file:///svn/tokudb@2330 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-18 19:42:28 +00:00
Rich Prohaska
9cfbaf9457 cleanup the test case address #408
git-svn-id: file:///svn/tokudb@2317 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-16 14:14:24 +00:00
Vincenzo Liberatore
7a94b49f96 Addresses #378
Restore comments in lock tree.

git-svn-id: file:///svn/tokudb@2310 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-15 21:41:59 +00:00
Vincenzo Liberatore
10dbfb42eb Addresses #378
Refactored error handling to work with C++ API.
Modify Makefile to avoid repeating all tests.

git-svn-id: file:///svn/tokudb@2309 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-15 21:38:14 +00:00
Vincenzo Liberatore
97e1ef272f Addresses #378
Propagate refactored error handling to C++ API.

git-svn-id: file:///svn/tokudb@2308 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-15 21:36:19 +00:00
Rich Prohaska
4565645290 turn assert into an error return. close #407
git-svn-id: file:///svn/tokudb@2307 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-15 19:44:48 +00:00
Vincenzo Liberatore
273b4aadee Addresses #378
Port Makefile to OSX. Reduce non-verbose output. Added completion echo for targets.

git-svn-id: file:///svn/tokudb@2306 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-15 15:24:20 +00:00
Vincenzo Liberatore
174a2aa740 Addresses #378
Adds new functions for ephemeral locking and error handling.

git-svn-id: file:///svn/tokudb@2296 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 22:23:31 +00:00
Vincenzo Liberatore
fa846cf729 Addresses #378
Separates out error handling and ephemeral locking. 
However, it fails a few tests.

git-svn-id: file:///svn/tokudb@2295 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 22:22:48 +00:00
Bradley C. Kuszmaul
a1dfeebb13 Rollback is working a little better. Addresses #27.
git-svn-id: file:///svn/tokudb@2294 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 19:23:25 +00:00
Rich Prohaska
2f26a8b6a0 get test_error to build on linux
git-svn-id: file:///svn/tokudb@2293 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 18:56:42 +00:00
Rich Prohaska
c88948e8ca fix for crash at netapp. addresses #399
git-svn-id: file:///svn/tokudb@2285 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 00:02:59 +00:00
Yoni Fogel
5ffe45a763 Closes #348
Partial implementation of nested transactions for locking purposes.
The actual txn (child/grandchild/etc) does all the work,
but for locking purposes we only use the parent (oldest ancestor).
This should work as expected (with possibly some extra lock overhead)
as long as no node has two active (non-aborted non-committed) children
simultaneously.

If a node has two children, they are supposed to be able to conflict
with each other (and deadlock/etc).  We are not providing this
conflict behavior between siblings.

We do support arbitrarily deep nested txns, so long as it is
a linked list instead of a general tree.

git-svn-id: file:///svn/tokudb@2284 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-13 15:22:58 +00:00
Yoni Fogel
1c9d206f89 Locking code that is difficult to get working in bdb.
git-svn-id: file:///svn/tokudb@2283 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-13 15:00:13 +00:00
Vincenzo Liberatore
25d340f106 Addresses #311
Completes the documentation of locktree.

git-svn-id: file:///svn/tokudb@2282 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-13 14:53:41 +00:00
Vincenzo Liberatore
56b15cd8c6 Addresses #350
Tests on more c_get flags ... 

git-svn-id: file:///svn/tokudb@2275 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 22:45:46 +00:00
Vincenzo Liberatore
e1b999bec5 Addresses #311
Adds more documentation to locktree 

git-svn-id: file:///svn/tokudb@2270 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 21:45:55 +00:00
Yoni Fogel
3f22696fe1 Updated svn:ignores
toku_env_set_lk_max (when it exists)
is now an alias for toku_env_set_lk_max_locks


git-svn-id: file:///svn/tokudb@2266 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 16:56:25 +00:00
Vincenzo Liberatore
e83fc22f36 Addresses #378
Changes Doxyfile and comments to generate caller and callee graphs

git-svn-id: file:///svn/tokudb@2265 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 15:59:08 +00:00
Rich Prohaska
235843e2ac get the cxx/tests/exceptions working. closes #377
git-svn-id: file:///svn/tokudb@2264 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 15:26:45 +00:00
Rich Prohaska
97c5f29219 crash in txn begin, commit
git-svn-id: file:///svn/tokudb@2263 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 14:04:09 +00:00
Rich Prohaska
187380c667 define DB_AUTO_COMMIT in db.h_4_6
git-svn-id: file:///svn/tokudb@2261 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 12:20:13 +00:00
Yoni Fogel
385b669b08 Removed some additional void* types in favor of static types in lock tree
git-svn-id: file:///svn/tokudb@2255 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 23:40:29 +00:00
Yoni Fogel
c89743d016 Changed range trees to have static types instead of void*
git-svn-id: file:///svn/tokudb@2254 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 23:37:55 +00:00
Yoni Fogel
0fa24d17cb Addresses #368
Deals with NULL transactions in a transaction environment for cursors.
Returns EINVAL (disallows NULL transaction cursors in txn environment.)
This may change later to auto-create transaction and commit it upon
cursor close.

git-svn-id: file:///svn/tokudb@2253 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 20:11:54 +00:00
Yoni Fogel
44894c394a Addresses #368
Deals with NULL transactions in an INIT_TXN environment.
Does not deal with NULL txn cursors yet.
Also adds DB_AUTO_COMMIT

git-svn-id: file:///svn/tokudb@2252 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 20:00:19 +00:00
Yoni Fogel
2d5e34efda Added DB_AUTO_COMMIT to header
git-svn-id: file:///svn/tokudb@2251 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 19:55:37 +00:00
Yoni Fogel
75b96f85ab brt_cursor_not_set made not static so
we can use it in toku_c_get.

git-svn-id: file:///svn/tokudb@2249 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 16:29:58 +00:00
Rich Prohaska
05c5502b7d fix namespace pollution
git-svn-id: file:///svn/tokudb@2248 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 15:27:15 +00:00
Rich Prohaska
03256cb5ab fix the DB_NEXT_DUP code. close #376
git-svn-id: file:///svn/tokudb@2241 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 20:27:41 +00:00
Bradley C. Kuszmaul
7087120e2f Remove another annoying error message. Addresses #375.
git-svn-id: file:///svn/tokudb@2239 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 17:58:30 +00:00
Bradley C. Kuszmaul
e8c87085e2 Remove those annoying error messages. Fixes #375.
git-svn-id: file:///svn/tokudb@2238 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 17:54:56 +00:00
Bradley C. Kuszmaul
b345dd3947 Note that pma_search might as well be written recursively. Addresses #374.
git-svn-id: file:///svn/tokudb@2237 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 15:26:10 +00:00
Bradley C. Kuszmaul
f93c6fb185 Fix #374, replace use a loop instead of recursion in {{{distribute_data}}}.
git-svn-id: file:///svn/tokudb@2236 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 14:59:43 +00:00
Rich Prohaska
07047bdfd0 rename libdb.so to libtokudb.so. closes #150
git-svn-id: file:///svn/tokudb@2230 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 03:50:15 +00:00
Yoni Fogel
2cb9fb2ebe Port to OSX for makefiles, easier to use OSX versions.
git-svn-id: file:///svn/tokudb@2229 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-10 02:39:08 +00:00
Rich Prohaska
6880c16767 builds take too long with check-x, so disable for now
git-svn-id: file:///svn/tokudb@2228 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 22:57:33 +00:00
Rich Prohaska
2695ac8014 fix get_both_range on nodup trees. closes #373
git-svn-id: file:///svn/tokudb@2227 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 21:20:22 +00:00
Rich Prohaska
092ecc9d7d test behavour of DB_GET_BOTH_RANGE. closes #370
git-svn-id: file:///svn/tokudb@2225 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 21:06:47 +00:00
Rich Prohaska
49e5333ad5 lock init with set_lk_max_locks. closes #371
git-svn-id: file:///svn/tokudb@2224 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 16:54:01 +00:00
Rich Prohaska
e30caae6fe test DB_NOTFOUND and c++ exceptions. closes #362
git-svn-id: file:///svn/tokudb@2223 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 15:44:34 +00:00
Rich Prohaska
decc8bdd90 check for definition of zero length. addresses #367
git-svn-id: file:///svn/tokudb@2219 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 12:13:51 +00:00
Rich Prohaska
921e224de1 fix build issue with db.h_4_6
git-svn-id: file:///svn/tokudb@2218 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 11:48:24 +00:00
Yoni Fogel
8f7507a8e1 Addresses #350
Restored the DUPSORT version of the tests for the lock txn test.

git-svn-id: file:///svn/tokudb@2211 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 00:00:39 +00:00
Yoni Fogel
5fad7d0bbd Addresses #350
DB->get, DB->pget, DBC->c_get, DBC->c_pget almost done.
Remainder: associated dbs need DBC->c_del and DB->del to lock properly.
Rest is done.

Associated dbs (using any of the above calls) may get stuck half way due to locking.
We are not currently optimizing for them, but it will lock everything necessary
(Once DB->del and DB->c_del lock properly)

Some tests are written, but not all of them.

Currently test_db_txn_locks.c fails due to abort not working properly.


git-svn-id: file:///svn/tokudb@2210 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-09 00:00:02 +00:00
Rich Prohaska
c6875ae990 set the data and length to 0 for zero length things. dbt's with malloc flags are unchanged. closes #367
git-svn-id: file:///svn/tokudb@2209 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:53:08 +00:00
Bradley C. Kuszmaul
6eca43dde5 Bump log_code.c test coverage to 54% by putting a call to tdb_logprint into the Makefile. Addresses #369.
git-svn-id: file:///svn/tokudb@2208 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:41:47 +00:00
Bradley C. Kuszmaul
b4537afb5f Make test_log5 use set_lk_max_locks. Addresses #366.
git-svn-id: file:///svn/tokudb@2207 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:39:40 +00:00
Bradley C. Kuszmaul
10062269c7 Make each rollback code take a list of arguments rather than a single logentry. Makes it easier to notice that I've got unused variables. Addresses #27.
git-svn-id: file:///svn/tokudb@2206 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:16:02 +00:00