Commit graph

1200 commits

Author SHA1 Message Date
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
Bradley C. Kuszmaul
922f0b8b0a Make DB_ENV->set_lk_max_locks work. And test it. Fixes #366.
git-svn-id: file:///svn/tokudb@2205 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:14:15 +00:00
Bradley C. Kuszmaul
726ea454ba Give up on valgrind for bdb. Addresses #328.
git-svn-id: file:///svn/tokudb@2204 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:12:37 +00:00
Yoni Fogel
5abb302d65 Addresses #367
Test that shows bug described in 367, data = key = (NULL,0)
is not supported by our cursor implementations.

git-svn-id: file:///svn/tokudb@2203 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 21:43:25 +00:00
Bradley C. Kuszmaul
2cbb1dbad0 On sync, if there is a parent, put the rollback info into the parent. Addresses #27.
git-svn-id: file:///svn/tokudb@2200 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 20:03:53 +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
90f58ae1ae oops, restore the db.h 4.4
git-svn-id: file:///svn/tokudb@2197 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 19:11:33 +00:00
Rich Prohaska
84be2fa9c4 port from branch 0.4.2 to main. closes #362
git-svn-id: file:///svn/tokudb@2196 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 19:10:34 +00:00
Yoni Fogel
31cfeaf166 Addresses #350
Effectively eliminated 'non cursor' gets.
Internally (in brt) all gets were cursor gets already.
To save future locking code, and reduce complexity of ydb,
all DB->get calls use cursor gets as subfunctions.

git-svn-id: file:///svn/tokudb@2195 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 19:06:39 +00:00
Rich Prohaska
a0f0e6d203 avoid performance collapse using db-benchmark-test. closes #340
git-svn-id: file:///svn/tokudb@2194 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 18:44:50 +00:00
Yoni Fogel
a53ca2c75e Addresses #350
Only uses lock tree if both txns and locking system are enabled.
If TXN only is enabled, it implies only one txn at a time: no lock tree needed.
If LOCK only is enabled, it implies no txns, therefore only ephemeral locks needed (lock tree not needed)
If neither are enabled, clearly lock tree is not needed.

git-svn-id: file:///svn/tokudb@2193 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 18:40:36 +00:00
Yoni Fogel
0f39ff8a04 Addresses #350
Fixed some bugs in test_db_txn_locks
to port it over to BDB.

git-svn-id: file:///svn/tokudb@2192 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 18:28:43 +00:00
Yoni Fogel
e8a6e94d10 Addresses #350
Bugfix with releasing locks/unlocking a transaction.

DBC->c_get (DB_SET)
and DB->put (DB_YESOVERWRITE) now perform locking
Secondary dbs not included (behavior unknown).

Several tests added for c_get (DB_SET) and DB->put(DB_YESOVERWRITE).

Lock tree only created if INIT_TXN is enabled during env creation.


git-svn-id: file:///svn/tokudb@2191 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 18:00:26 +00:00
Yoni Fogel
4b9a134152 Port to OSX for some tests.
git-svn-id: file:///svn/tokudb@2187 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 15:16:33 +00:00
Yoni Fogel
7ba48c085f standardized naming of a test.
git-svn-id: file:///svn/tokudb@2186 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 15:01:17 +00:00
Yoni Fogel
113b1e094e Modified test-weakxaction.c to work with tokudb.
Test does not yet pass due to locking not fully implemented.

git-svn-id: file:///svn/tokudb@2171 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 05:24:29 +00:00
Bradley C. Kuszmaul
09a3da9a49 Make all.recover work again. Addresses #27.
git-svn-id: file:///svn/tokudb@2168 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 04:34:12 +00:00
Bradley C. Kuszmaul
4abb5ba31d Use toku_assert instead of assert. Addresses #354.
git-svn-id: file:///svn/tokudb@2167 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 03:17:38 +00:00
Rich Prohaska
520eec42ce test a method to increase coverage of utilities using a makefile to check exit codes
git-svn-id: file:///svn/tokudb@2157 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 19:06:12 +00:00
Rich Prohaska
fab328719f fix the build. addresses #277
git-svn-id: file:///svn/tokudb@2156 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 17:17:43 +00:00
Rich Prohaska
7d28f43da1 put toku_assert.o into libdb.so. addresses #354
git-svn-id: file:///svn/tokudb@2155 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 17:12:36 +00:00
Rich Prohaska
c5c3a7a172 improve cxx coverage addresses #277
git-svn-id: file:///svn/tokudb@2154 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 16:45:58 +00:00
Bradley C. Kuszmaul
603884a156 Create {{{toku_assert}}} (Fixes #354). Make the primes test actually work (Fixes #355). Addresses #277.
git-svn-id: file:///svn/tokudb@2153 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 16:35:39 +00:00
Yoni Fogel
6644073d36 Addresses 293
Bugfix with toku_lt_set_txn_add_lt_callback
Had the error case backwards.

git-svn-id: file:///svn/tokudb@2142 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 04:39:18 +00:00
Rich Prohaska
393dc9799e fix the build. ydb does not belong in newbrt.
git-svn-id: file:///svn/tokudb@2141 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-07 01:26:35 +00:00
Yoni Fogel
ce5b3e6465 Addresses #350
Integrated lock tree into the transactions.
    Allocated on create
    unlocked on abort/commit
    transaction keeps track of which lock trees it owns locks in
Started working on integrating c_get functions.
Modified locktree API to make it easier to use both dupsort and nondup dbs
Fixed tests to work with new locktree API.

git-svn-id: file:///svn/tokudb@2140 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 23:05:36 +00:00
Yoni Fogel
f48cbb7f3a PRId64 error fixed
git-svn-id: file:///svn/tokudb@2138 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 20:09:23 +00:00
Yoni Fogel
1e2aaf51c9 Addresses #346
Modified svn:ignore properties to ignore unneeded information.

git-svn-id: file:///svn/tokudb@2136 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 20:04:19 +00:00
Bradley C. Kuszmaul
fe11eae49a Try to recover with deletes. Addresses #27.
git-svn-id: file:///svn/tokudb@2133 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 19:28:01 +00:00
Bradley C. Kuszmaul
e76cdc2b0a Delete command must be duplicated. Fixes #201.
git-svn-id: file:///svn/tokudb@2132 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 19:27:25 +00:00
Yoni Fogel
01d51167d6 Bugfix in tests makefile.
git-svn-id: file:///svn/tokudb@2131 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 19:10:47 +00:00
Yoni Fogel
55191e5757 Addresses #307 Addresses #293
Modified makefiles to clean up install process
Added tests
Added hash table to store list of db's that a tx has access to.

git-svn-id: file:///svn/tokudb@2130 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 19:05:38 +00:00
Vincenzo Liberatore
b28b82a1e1 Addresses #337
Adds tests for write lock

git-svn-id: file:///svn/tokudb@2129 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 18:31:34 +00:00
Yoni Fogel
834cc7892b Addresses #293 Addresses #307
Addresses #337
Makefile modifications, test modifications,
Lock tree is better integraded with db.

git-svn-id: file:///svn/tokudb@2126 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 17:23:38 +00:00