Commit graph

1588 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
93d2d2fcfa Enable tail calls. Fixes #879.
git-svn-id: file:///svn/tokudb@4645 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-19 01:46:41 +00:00
Rich Prohaska
89307e2945 init the val memory to fix a valgrind error. addresses #935
git-svn-id: file:///svn/tokudb@4641 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 23:53:05 +00:00
Bradley C. Kuszmaul
f714e3e873 Merge in the final hash shortcuts.
{{{
svn merge -r4633:4638 https://svn.tokutek.com/tokudb/tokudb.906
}}}

Addresses #906.


git-svn-id: file:///svn/tokudb@4639 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 21:38:01 +00:00
Rich Prohaska
77f3953c85 test case for bug 935. addresses #935
git-svn-id: file:///svn/tokudb@4635 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 20:49:50 +00:00
Bradley C. Kuszmaul
01e53bc148 Quiet down the make. Addresses #13.
git-svn-id: file:///svn/tokudb@4631 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 13:45:47 +00:00
Rich Prohaska
798e923370 merge some more seq insert code to main. addresses #896
git-svn-id: file:///svn/tokudb@4627 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 10:22:06 +00:00
Rich Prohaska
f4ec866165 merge some seq insert code to main. addresses #896
git-svn-id: file:///svn/tokudb@4626 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 10:02:06 +00:00
Rich Prohaska
9c6dd317ac disable test_838 for now. addresses #923
git-svn-id: file:///svn/tokudb@4624 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 09:34:37 +00:00
Bradley C. Kuszmaul
6b685145d1 Merge {{{tokudb.906}}} into {{{tokudb}}}. Very few hash calls remain.
Did
{{{
svn merge -r4600:4610 https://svn.tokutek.com/tokudb/tokudb.906
}}}
and delete the 906 branch.

Fixes #906.


git-svn-id: file:///svn/tokudb@4615 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 00:30:36 +00:00
Bradley C. Kuszmaul
4db5b5063c Did
{{{
svn merge -r4556:4568 https://svn.tokutek.com/tokudb/tokudb.906
}}}
to incorporate the hash improvements.

Addresses #906.


git-svn-id: file:///svn/tokudb@4596 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 17:05:19 +00:00
Vincenzo Liberatore
53161133c1 Addresses #923 Better printouts on verbose=1
git-svn-id: file:///svn/tokudb@4587 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 13:36:42 +00:00
Yoni Fogel
4b35c3f3ef Addresses #918
Allocates room for at least 4 elements every time we convert from tree
to array (and vice versa).

git-svn-id: file:///svn/tokudb@4586 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 12:17:48 +00:00
Yoni Fogel
56861ecd78 addresses #918
Merged current progress into trunk

git-svn-id: file:///svn/tokudb@4581 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 04:29:17 +00:00
Yoni Fogel
131172d61e Fix issue compiler was warning about in 4577
git-svn-id: file:///svn/tokudb@4580 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 04:28:33 +00:00
Rich Prohaska
b526f096a5 fix compiler warning
git-svn-id: file:///svn/tokudb@4577 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 00:49:03 +00:00
Yoni Fogel
1ce2303c6b Addresses #918
Merge 'convert to array on rebalancing root' change

git-svn-id: file:///svn/tokudb@4576 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 00:01:35 +00:00
Yoni Fogel
88b08c3daf Addresses #918
Merge initial version of array representation of omts into trunk

git-svn-id: file:///svn/tokudb@4574 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-16 23:50:45 +00:00
Rich Prohaska
d79133ce1f bias the pivot search in favor of appends to the dictionary. addresses #896
git-svn-id: file:///svn/tokudb@4546 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-16 01:26:51 +00:00
Bradley C. Kuszmaul
34572ecb9e Oops. Addresses #917.
git-svn-id: file:///svn/tokudb@4545 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 20:49:15 +00:00
Bradley C. Kuszmaul
64b08678a1 Tigter code when not filling with zeros. Addresses #917.
git-svn-id: file:///svn/tokudb@4544 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 20:44:11 +00:00
Bradley C. Kuszmaul
9ebb4b4080 Don't always fill with zeros. Fixes #917. Gives some speedups on random.
git-svn-id: file:///svn/tokudb@4543 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 17:09:14 +00:00
Rich Prohaska
5c3b4003e8 strange return in BDB. addresses #838
git-svn-id: file:///svn/tokudb@4541 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 12:44:45 +00:00
Bradley C. Kuszmaul
10f21e7224 Did a {{{svn merge}}} for {{{tokudb.907}}} and deleted {{{tokudb.907}}}.
Fixes #907.


git-svn-id: file:///svn/tokudb@4524 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-14 01:38:53 +00:00
Bradley C. Kuszmaul
802d83994b test_838 now passes. Addresses #838
git-svn-id: file:///svn/tokudb@4521 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-13 18:27:22 +00:00
Rich Prohaska
f3eefae802 fix the nightly regressions. port the 838 test to BDB. addresses #838
git-svn-id: file:///svn/tokudb@4514 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-13 11:18:34 +00:00
Yoni Fogel
b4b9748da8 Addresses #912
Use ybt->size field if ybt->ulen field is unset (for DB_DBT_REALLOC).

git-svn-id: file:///svn/tokudb@4505 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 23:13:04 +00:00
Yoni Fogel
acf688ef2e Closes #912
toku_db_set_* (the dbt setting functions)
no longer require atomicity for ENOMEM cases.
Also, in the case of realloc, we only alloc new memory if
the new size is larger than the old size, or the new size is less than
half of the old size.

Code has some simplifications due to lesser atomicity requirements.

Modified src/tests/test_db_dbt_mem_behavior.c to take into account
that DB_DBT_REALLOC now uses the ulen field.

git-svn-id: file:///svn/tokudb@4504 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 23:07:04 +00:00
Yoni Fogel
fe3cd46d32 Closes #914
git-svn-id: file:///svn/tokudb@4502 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 20:46:09 +00:00
Yoni Fogel
19b775ea35 Addresses #838
Added test_838 to tests that should fail.

git-svn-id: file:///svn/tokudb@4501 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 20:37:26 +00:00
Bradley C. Kuszmaul
a4f4d06ff9 Merge the streamlining changes from #911. Fixes #911.
git-svn-id: file:///svn/tokudb@4500 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 20:32:22 +00:00
Rich Prohaska
da3b69356c merge branch 838 to main. addresses #838
git-svn-id: file:///svn/tokudb@4493 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-12 13:53:39 +00:00
Yoni Fogel
df7304b264 Closes #908
Implements DB->pre_acquire_table_lock
Also optimized lock tree for table write locks

git-svn-id: file:///svn/tokudb@4480 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-11 20:09:47 +00:00
Yoni Fogel
83bd37f5bc Addresses #908
Add DB->pre_acquire_table_lock to headers

git-svn-id: file:///svn/tokudb@4479 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-11 19:38:51 +00:00
Bradley C. Kuszmaul
8102ccf804 Fixup command line parsing
git-svn-id: file:///svn/tokudb@4473 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-11 18:02:43 +00:00
Yoni Fogel
62fa995705 Closes #904
Skip lock tree overhead (marshalling and calling)
when appropriate due to DB_PRELOCKED/DB_PRELOCKED_WRITE

git-svn-id: file:///svn/tokudb@4469 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-11 06:08:13 +00:00
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