Commit graph

72 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
17e5214663 Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11223 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1ed3f26d65 Add #ident Id info to all the newbrt/*.c and newbrt/*.h files. Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11221 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1c2996546d Merge in [11215], Refs #1672. Consolidate tdiff. Fixes #1673.
git-svn-id: file:///svn/toku/tokudb@11217 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
1b96373aca Addresses #1670 Standardized descriptor (de)serialization.
Added versioning to descriptor.
Changing a descriptor REQUIRES the version to increase.
Version 0 is reserved for a non-descriptor db. (cannot be set).
Not yet added to brtnodes.
Still possible to change descriptor with an open brt (which would not be upgraded).


git-svn-id: file:///svn/toku/tokudb@11198 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1a48d75807 Merge in the 1390 fixes, and delete 1390. Fixes #1390.
{{{
svn merge -r10820:HEAD https://svn.tokutek.com/tokudb/toku/tokudb.1390
}}}


git-svn-id: file:///svn/toku/tokudb@11192 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
5c108195c3 Addresses #1603 Root fifo is gone.
git-svn-id: file:///svn/toku/tokudb@11165 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
6561bd1af8 Addresses #1510 Final merge into main. Delete #1510 branch.
svn merge -r 11048:11110 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@11112 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
8f2b0a7e11 Addresses #1510 Merge of 1510 (so far) back into main
Several fixes are included, particulary db remove after db truncate (with descriptor) does not crash anymore.
svn merge -r 10931:11019 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@11020 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
dab780fdbd Addresses #1510 Merge tokud.main+1510 back into main
svn merge --accept=postpone -r 10895:10898 ../tokudb.main+1510
Previously on tokudb.main+1510:
svn merge --accept=postpone -r 10317:10892 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@10899 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Bradley C. Kuszmaul
0630b6922c {{{db->stat64}}} now has all functionality required for #447.
Merge [10806] into tokudb.  Refs #1629, #447.
{{{
svn merge -r10805:10806 https://svn.tokutek.com/tokudb/toku/tokudb.1629
}}}


git-svn-id: file:///svn/toku/tokudb@10807 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Bradley C. Kuszmaul
da0efde586 Merge in 1591 and fix conflicts. Fixes #1591.
{{{
svn merge -r10512:10803 https://svn.tokutek.com/tokudb/toku/tokudb.1591
}}}


git-svn-id: file:///svn/toku/tokudb@10804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
3b42b55489 Closes #1378 Merged all changes into main.
git-svn-id: file:///svn/toku/tokudb@9507 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:41 -04:00
Yoni Fogel
d1aab2ef76 Addresses #1463
Abstracted out the block translation table and the block allocator
into BLOCK_TABLE
All use is done by accessors surrounded by locks.


git-svn-id: file:///svn/toku/tokudb@9360 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:41 -04:00
Bradley C. Kuszmaul
85f355d631 Improve error messages and error handling when writes fail.
* Fixes #78 ({{{lg_bsize}}} works)
 * Fixes #1323 (write errors)
Did
{{{
svn merge -r8967:9031 https://svn.tokutek.com/tokudb/toku/tokudb.1323a
}}}

(And I'll delete the 1323 branches in a moment.)


git-svn-id: file:///svn/toku/tokudb@9032 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
16bb53619e Merge {{{tokudb.1381}}} onto the main line.
Fixes #1381.  Addresses #1393 which was also fixed in this branch.

{{{
svn merge -r 8803:8831 https://svn.tokutek.com/tokudb/toku/tokudb.1381
}}}
and delete the 1381 branch.


git-svn-id: file:///svn/toku/tokudb@8832 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
fe0a157971 Cleaned up. Note that some stuff moved into the windows directory with symlinks from linux (since I know that symlinks work in linux, but maybe not in windows.) Addresses #1348.
git-svn-id: file:///svn/toku/tokudb.1032b+1343@8560 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:34 -04:00
Bradley C. Kuszmaul
1ea88e0c8a More hacking on dlmalloc. Addresses #1032, #1328, #1343.
git-svn-id: file:///svn/toku/tokudb.1032b+1343@8476 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:34 -04:00
Bradley C. Kuszmaul
316c7f118b Add {{{db_env_set_func_malloc}}}, {{{db_env_set_func_realloc}}}, and {{{db_env_set_func_free}}}. Addresses #1343, #1032, #1328. Tests don't pass
git-svn-id: file:///svn/toku/tokudb.1032b+1343@8474 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:34 -04:00
Bradley C. Kuszmaul
244db7712a Create a test for 1308. Addresses #1308.
git-svn-id: file:///svn/toku/tokudb.1032b@8277 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Yoni Fogel
ca79f7aed3 Addresses #1296
Global mutexes are now initialized in toku_ydb_init, destroyed in toku_ydb_destroy.

Globals in tdbtrace.c (not default) are not yet initialized.

git-svn-id: file:///svn/toku/tokudb.1032b@8149 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Rich Prohaska
fefecf69dd merge brt_truncate into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7803 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Bradley C. Kuszmaul
6b654211c0 free diskblocks. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@7679 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:25 -04:00
Bradley C. Kuszmaul
7a1f2d5706 Write tests for {{{toku_dump_brt()}}}. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@7461 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:24 -04:00
Yoni Fogel
df1c7a9379 Addresses #903
Created function that peeks at both key and value at the same time
(to avoid repeated OMT calls).
This was worth 4-5% performance in scanscan --lwc --prelock --prelockflag


git-svn-id: file:///svn/tokudb@5386 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-28 17:55:14 +00:00
Rich Prohaska
efc9a8aa39 merge db->truncate to main. closes #968
git-svn-id: file:///svn/tokudb@5218 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 02:34:13 +00:00
Yoni Fogel
18b35fc088 Addresses #993
Merge branch 993 back into main.

git-svn-id: file:///svn/tokudb@5141 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-16 22:23:29 +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
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
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
b07dd27c62 Start testing {{{toku_brt_keyrange}}}.
There are 4 cases
 1. flattened nodup (tested in this changeset)
 1. unflattened nodup (untested)
 1. flattened dupsort (untested)
 1. unflattened dupsort (untested)


git-svn-id: file:///svn/tokudb@3931 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 12:14:38 +00:00
Yoni Fogel
467c49d564 Addresses #394
Bugfix with the way data was copied out to static buffers.
Now (again) copies to cursor's temp storage if it is not a temporary cursor
if it is a db handle call, or a temporary cursor, it will use the db's temporary storage.

git-svn-id: file:///svn/tokudb@3863 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 17:38:10 +00:00
Yoni Fogel
9abb92dc4b Addresses #394
Merge branch tokudb.394 back into trunk

git-svn-id: file:///svn/tokudb@3841 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-07 20:03:13 +00:00
Bradley C. Kuszmaul
8511ea7372 Log db close so that recovery will work right if the same db is opened and closed repeatedly.
Also the file numbers can thus be reused.
Don't pass the BRT into the flush commands, since the BRT may no longer be present.
Put a counter in to see how many rollback records are present.  (Addresses #698.)
Increment the file version to 4.
Fixes #545, #703.

Note: All the tests pass except
 * Many cxx tests are getting valgrind errors.  (Addresses #716.  Possibly causes #716.)
 * {{{test_log9.recover}}} fails with "Binary files ... differ".  These will presumably be fixed by #711 or #714.  (Addresses #711, #714.)
 * {{{test_log10.recover}}} fails.   There are two failures:
  1. A valgrind problem (see #718.)  (Addresses #718.  Possibly causes #718.)
  1. The "Binary files ... differ" issue.


git-svn-id: file:///svn/tokudb@3486 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-17 03:11:55 +00:00
Bradley C. Kuszmaul
a8a3471e43 Remove dead code for expunging fifos. Fixes #684.
git-svn-id: file:///svn/tokudb@3392 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-09 18:52:03 +00:00
Bradley C. Kuszmaul
83d416fa09 Merge the 558 branch back to the main with
{{{
svn merge -r3061:3225 https://svn.tokutek.com/tokudb/tokudb.558
}}}

Fixes #630.
Addresses #558.


git-svn-id: file:///svn/tokudb@3226 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-02 23:40:36 +00:00
Bradley C. Kuszmaul
538a507a30 Make rollback do the right thing in some cases fo internal nodes. Addresses #556.
git-svn-id: file:///svn/tokudb@2955 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 19:23:45 +00:00
Bradley C. Kuszmaul
99b75cabcd Deal with the multithreaded cursor DBT memory allocaiton problem. Addresses #538. (I'm going to write a few more tests before calling it fixed.)
git-svn-id: file:///svn/tokudb@2854 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-15 19:06:39 +00:00
Bradley C. Kuszmaul
712fcc5da1 Many things:
Make txn->abort work without bombing out for {{{test_txn_abort5}}} one case. Fixes #431.
 Start writing {{{test_txn_abort6}}}.   Addresses #443.
 Try to write a test for #399 and #400, but haven't managed to reproduce the problem.  Addresses #399, #400.
 Write a test for #332.  Addresses #332.


git-svn-id: file:///svn/tokudb@2406 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-25 22:46:48 +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
Rich Prohaska
a5a62d6696 txn parameter added to some brt functions. closes #316
git-svn-id: file:///svn/tokudb@1941 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-28 20:49:10 +00:00
Rich Prohaska
d2d80add96 first cut or new cursors merge to trunk. addresses #250
git-svn-id: file:///svn/tokudb@1881 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 15:43:37 +00:00
Bradley C. Kuszmaul
9fe0391206 Add copyright 2008. Fixes #283.
git-svn-id: file:///svn/tokudb@1844 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:10:32 +00:00
Bradley C. Kuszmaul
970234a759 Fix db-benchmark-test. Fixes #300.
git-svn-id: file:///svn/tokudb@1841 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 13:51:34 +00:00
Rich Prohaska
a9e1d29612 add Db::fd closes #231
git-svn-id: file:///svn/tokudb@1601 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 14:38:49 +00:00
Rich Prohaska
aed37ec51c first cut of delboth addresses #182
git-svn-id: file:///svn/tokudb@1478 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-02 20:33:51 +00:00
Yoni Fogel
7331e46492 Added DB_UNKNOWN to db.h
You can use DB_UNKNOWN as a dbtype (as long as you don't use DB_EXCL) in dbopen,
and then it will load the flags from the file.

tokudb_dump
    Now supports duplicates/sorted duplicates.
tokudb_load will give a warning about any duplicate duplicate loads
    but will continue with the rest of the data.

Closes #148
Closes #166

git-svn-id: file:///svn/tokudb@1086 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-11 19:34:21 +00:00
Yoni Fogel
123dd77a8f c_pget makes certain never to touch original parameters until/unless success happens.
Code is cleaner now with less special cases, handles DB_DBT_(MALLOC|REALLOC|USERMEM) as well as no flags now.
Closes #144

git-svn-id: file:///svn/tokudb@1037 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-10 18:54:12 +00:00
Rich Prohaska
be7474282c add key and data size limit check in db->put. closes #50
git-svn-id: file:///svn/tokudb@832 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 19:32:53 +00:00
Bradley C. Kuszmaul
9f54dcef61 Rename a bunch of symbols to toku_symbols. Addresses #8.
git-svn-id: file:///svn/tokudb@823 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:09:14 +00:00
Bradley C. Kuszmaul
6b2f1c61b7 Rename a bunch of symbols to toku_symbols. Addresses #8.
git-svn-id: file:///svn/tokudb@822 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:44:03 +00:00