Yoni Fogel
5764fdef8e
Addresses #904
...
Add DB_PRELOCKED_WRITE flag
git-svn-id: file:///svn/tokudb@4462 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-10 19:46:00 +00:00
Bradley C. Kuszmaul
61974814e4
Implement a lighter versio nof {{{DBC->c_getf_next}}}. Addresses #902 .
...
git-svn-id: file:///svn/tokudb@4460 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-10 18:56:10 +00:00
Bradley C. Kuszmaul
2d0adda90c
Use the {{{db->pre_acquire_read_lock}}} method for scanscan.
...
So to use the lightweight cursors with the prelock one does:
{{{
./scanscan-tokudb --prelock --nohwc --lwc
}}}
Addresses #893 .
git-svn-id: file:///svn/tokudb@4454 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-10 16:37:56 +00:00
Yoni Fogel
917a127c2f
Renamed toku_rt_forest to rt_forest
...
git-svn-id: file:///svn/tokudb@4453 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-10 16:06:50 +00:00
Bradley C. Kuszmaul
750998c9da
Implement {{{DBC->c_getf_next}}}, with a simple test. Addresses #902 .
...
git-svn-id: file:///svn/tokudb@4452 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-10 15:39:31 +00:00
Bradley C. Kuszmaul
e0d124119b
Pack the OMT. Fixes #897 .
...
git-svn-id: file:///svn/tokudb@4421 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-08 16:14:31 +00:00
Bradley C. Kuszmaul
b2dd143d95
Clean up scanscan. Addresses #820 .
...
git-svn-id: file:///svn/tokudb@4420 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-08 15:53:50 +00:00
Yoni Fogel
d9e9792d8c
Addresses #893
...
Parameters to pre_lock are supposed to be const DBT*'s instead of DBT*'s.
git-svn-id: file:///svn/tokudb@4403 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-06 18:09:04 +00:00
Yoni Fogel
e22d67bb8e
Addresses #893
...
Implement db->pre_acquire_read_lock(), db->dbt_pos_infty(), and db->dbt_neg_infty()
functions.
Example usage to lock entire table:
db->pre_acquire_read_lock(db, txn, db->dbt_neg_infty(), NULL, db->dbt_pos_infty(), NULL);
(Above is for db with no duplicates, i.e. primary index).
For db with duplicates:
db->pre_acquire_read_lock(db, txn, db->dbt_neg_infty(), db->dbt_neg_infty(), db->dbt_pos_infty(), db->dbt_pos_infty());
Will return same lock error codes as db calls do (when locks fail).
0 = success
DB_LOCK_NOTGRANTED = failed to obtain the lock.
We can theoretically sleep and try again here.
If you want to grab from DBT* A to infinity..
db->pre_acquire_read_lock(db, txn, A, NULL, db->dbt_pos_infty(), NULL);
git-svn-id: file:///svn/tokudb@4402 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-06 17:50:38 +00:00
Yoni Fogel
98feb20905
Addresses #889
...
Leaf boundary test now checks left to right and right to left.
git-svn-id: file:///svn/tokudb@4401 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-06 16:45:38 +00:00
Yoni Fogel
72c0171ab6
Addresses #889
...
Additional tests to verify we handle provdel leaf entries correctly
(when we need to cross between leaf boundaries.
git-svn-id: file:///svn/tokudb@4400 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-06 16:39:38 +00:00
Bradley C. Kuszmaul
33a145cf5d
Don't run manyfiles.bdb. Addresses #891 .
...
git-svn-id: file:///svn/tokudb@4397 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-06 13:07:25 +00:00
Bradley C. Kuszmaul
b3f35f217e
Hash the cachetable too. Fixes #891 .
...
git-svn-id: file:///svn/tokudb@4388 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-05 22:09:59 +00:00
Rich Prohaska
68e6ca2097
need to update the cursor when skipping provisionally deleted leaf entries. addresses #889
...
git-svn-id: file:///svn/tokudb@4367 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-04 22:58:07 +00:00
Bradley C. Kuszmaul
d12442d53e
Implement 2nd scanscan, and allow txns to be turned off.
...
git-svn-id: file:///svn/tokudb@4351 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 21:55:47 +00:00
Bradley C. Kuszmaul
efe394f6b7
Finish cleanup. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4348 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 20:06:03 +00:00
Bradley C. Kuszmaul
d3815694af
Add a bdb-layer test for the regression introduced by [4330]. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4347 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 20:03:29 +00:00
Yoni Fogel
f9982d4a47
Addresses #855 , #856 .
...
Bugfix in integration of omt cursors.
We were considering provdel leaf entries as not deleted.
git-svn-id: file:///svn/tokudb@4343 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 16:45:15 +00:00
Yoni Fogel
43d9a43f20
Addresses #855 , #856 . Reworked ExpectedO(1) cursors to be as close
...
as possible to the O(logn) cursors.
Semantics are now as close as possible, and may be a little faster now.
git-svn-id: file:///svn/tokudb@4339 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 04:25:28 +00:00
Yoni Fogel
2e01e6d00d
Addresses #855 , #856 . Invalidates cursor on a failed toku_omt_find
...
git-svn-id: file:///svn/tokudb@4337 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 03:42:56 +00:00
Yoni Fogel
540d7247cd
Addresses #855 , #856 . More 0s become NULLs. toku_omt_cursor_prev checks for index = 0
...
so that it can invalidate and return EINVAL (since index is unsigned)
git-svn-id: file:///svn/tokudb@4336 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 02:23:39 +00:00
Yoni Fogel
352566ea2f
Addresses #855 , #856 . Standardize index to be unsigned, 32 bits. Used NULL instead of 0
...
git-svn-id: file:///svn/tokudb@4335 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 02:10:40 +00:00
Bradley C. Kuszmaul
77639084ce
Get rid of ERANGE in favor of EINVAL. And fix up a couple of test cases. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4333 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 01:28:40 +00:00
Bradley C. Kuszmaul
9185a8549b
Go to the O(logN)-integer-compare implementation, which is about 5% faster than the O(1) implementation. I cannot explain it. The old stuff is now in {{{omt-with-o1-cursors/}}}. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4329 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-03 00:50:14 +00:00
Yoni Fogel
eb41b7c0c7
Addresses #855 , #856 . Integrate OMT cursors with BRT for DB_PREV
...
git-svn-id: file:///svn/tokudb@4328 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 21:35:02 +00:00
Yoni Fogel
2ef26e0057
Converted all dos files to unix format (endlines only changed)
...
git-svn-id: file:///svn/tokudb@4327 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 21:28:03 +00:00
Yoni Fogel
6f7da78963
Integrate the omtcursors into the BRT. So far only DB_NEXT is implemented. Addresses #855 , #856 . Added missing information needed for commit
...
git-svn-id: file:///svn/tokudb@4326 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 21:21:32 +00:00
Bradley C. Kuszmaul
33d04ef55f
Integrate the omtcursors into the BRT. So far only DB_NEXT is implemented. Addresses #855 , #856 .
...
git-svn-id: file:///svn/tokudb@4325 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 20:52:12 +00:00
Yoni Fogel
9c1a3057c9
Addresses #855
...
Bugfix in merge of tokudb.855 into trunk
Forgot to update all users of the omt
git-svn-id: file:///svn/tokudb@4309 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-30 21:58:32 +00:00
Vincenzo Liberatore
bf759aa8bb
Closes #855 Merged back into trunk
...
git-svn-id: file:///svn/tokudb@4308 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-30 20:41:12 +00:00
Bradley C. Kuszmaul
5952205957
After swapping the order of the free and the alloc of the leafentry, I messed up because the alloc might move the leafentry, so the leafentry's size must be computed while the pointer is still good. Fixes #881 .
...
git-svn-id: file:///svn/tokudb@4276 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 21:38:46 +00:00
Bradley C. Kuszmaul
e7150422f4
Probably repairs #880 . Addresses #880 .
...
git-svn-id: file:///svn/tokudb@4259 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 17:12:45 +00:00
Bradley C. Kuszmaul
0c5f094e26
Probably repairs #880 . Addresses #880 .
...
git-svn-id: file:///svn/tokudb@4258 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 17:05:03 +00:00
Bradley C. Kuszmaul
d4a80654d1
Simplfy the logic a little. Addresses #880 .
...
git-svn-id: file:///svn/tokudb@4256 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 16:28:37 +00:00
Bradley C. Kuszmaul
8f6bbeb225
Please run the test case under the debugger (compiled with -O0), and then in gdb when it bombs do the following commands.
...
{{{
(gdb) print original_mp
(gdb) print last_total_size_needed
(gdb) up
(gdb) print *mp
(gdb) where
}}}
Addresses #880 .
git-svn-id: file:///svn/tokudb@4255 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 16:21:28 +00:00
Bradley C. Kuszmaul
e9323991d7
{{{
...
svn delete tokudb.872
cd tokudb
svn merge -r4187:4233 https://svn.tokutek.com/tokudb/tokudb.872
}}}
Fixes #849 , #872 .
Addresses #820 .
git-svn-id: file:///svn/tokudb@4234 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 03:12:59 +00:00
Zardosht Kasheff
ed37a2cc1c
addresses #846
...
change flag in toku_db_remove from DB_BTREE to DB_UNKNOWN
git-svn-id: file:///svn/tokudb@4203 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-28 13:44:23 +00:00
Bradley C. Kuszmaul
c82a8af504
Merge the changes for #871 and #406 into the main line as
...
{{{
$ cd tokudb; svn merge -r 4179:4181 https://svn.tokutek.com/tokudb/tokudb.871
$ svn delete tokudb.871
}}}
Fixes #871 . Addresses #406 . (Possibly fixes both.)
git-svn-id: file:///svn/tokudb@4182 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-28 01:22:51 +00:00
Bradley C. Kuszmaul
31144bf15b
Make the leaf nodes have accurate memory footprint info.
...
git-svn-id: file:///svn/tokudb@4178 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 21:08:31 +00:00
Bradley C. Kuszmaul
7c0038357c
A better fix for #865 . Fixes #865 .
...
git-svn-id: file:///svn/tokudb@4166 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 14:47:23 +00:00
Rich Prohaska
2f35b4cf16
port to i386
...
git-svn-id: file:///svn/tokudb@4161 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 12:26:08 +00:00
Bradley C. Kuszmaul
85d3c99dca
Fix #865 .
...
git-svn-id: file:///svn/tokudb@4160 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 11:29:33 +00:00
Yoni Fogel
45ab3f10cc
Addresses #394
...
Removed deprecated (unused) code.
git-svn-id: file:///svn/tokudb@4122 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-24 17:28:21 +00:00
Yoni Fogel
b846ceaa9a
Addresses #860
...
Removed extra mallocs and memcopies for toku_c_get
when the dbts use anything other than DB_DBT_USERMEM
git-svn-id: file:///svn/tokudb@4121 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-24 17:22:14 +00:00
Bradley C. Kuszmaul
fbc83b1cda
Hacked fix for #832 . Don't promote unless there's space for a max pivot key.
...
git-svn-id: file:///svn/tokudb@4105 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-23 17:04:21 +00:00
Bradley C. Kuszmaul
f60c54cad0
Fixes #22 , #333 and Addresses #818 :
...
* Create an exact bit (#818 ) for the sums (but doesn't calculate it.)
* Add magic to the file header (#22 )
* Add per-subdb dupsort flags. (#333 ).
Did
{{{
$ cd tokudb
$ svn merge -r3990:4094 https://svn.tokutek.com/tokudb/tokudb.818/
$ cd ..
$ svn delete tokudb.818
}}}
git-svn-id: file:///svn/tokudb@4095 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-22 21:28:00 +00:00
Bradley C. Kuszmaul
7cc5c172bd
Create a scan benchmark. Addresses #820 .
...
git-svn-id: file:///svn/tokudb@4093 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-22 21:23:56 +00:00
Bradley C. Kuszmaul
0534cbcbaa
Clean up the debug argument that is passed all around. Addresses #832 .
...
git-svn-id: file:///svn/tokudb@4036 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-20 23:47:39 +00:00
Bradley C. Kuszmaul
b74c85e592
Fix up a fencepost error in the serialization code. Addresses #22 .
...
git-svn-id: file:///svn/tokudb@4035 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-20 21:24:11 +00:00
Rich Prohaska
9d057ea81b
enable/disable writing tokulogs. addresses#807
...
git-svn-id: file:///svn/tokudb@4017 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-19 16:42:38 +00:00