Commit graph

977 commits

Author SHA1 Message Date
Rich Prohaska
ee0bfdf548 fix 32 bit linux build. closes #297
git-svn-id: file:///svn/tokudb@1856 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 20:31:16 +00:00
Yoni Fogel
98d31e20e4 Modified comment in header
git-svn-id: file:///svn/tokudb@1855 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 19:29:53 +00:00
Yoni Fogel
86fcd60f31 Addresses #293
Read lock appears to be finished for now.

git-svn-id: file:///svn/tokudb@1854 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 19:29:35 +00:00
Rich Prohaska
369da65117 add check target. addresses #299
git-svn-id: file:///svn/tokudb@1845 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:39:26 +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
fc5314ec6d Make the LSN be properly defined in the in-memory logentry so rollback will work right. Fixes #304.
git-svn-id: file:///svn/tokudb@1843 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:02:46 +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
Yoni Fogel
779e7f3fc4 Addresses #293
Checkpoint in lock tree implementation.
Write locks and point locks appear to be done,
bugs fixed in comparison function.

Need to do a bunch of worst case error handling still.

git-svn-id: file:///svn/tokudb@1830 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 01:00:40 +00:00
Yoni Fogel
0af793b40b Addresses #293
Checkpoint in implementation.
Vincenzo left for the night.

git-svn-id: file:///svn/tokudb@1829 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 22:17:40 +00:00
Rich Prohaska
97620c5288 check default parameters and -x. addresses #299
git-svn-id: file:///svn/tokudb@1827 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 21:30:20 +00:00
Bradley C. Kuszmaul
271137c959 test_log5 recovers correctly now. Addresses #27.
git-svn-id: file:///svn/tokudb@1826 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 19:44:13 +00:00
Yoni Fogel
2a2304f353 Addresses #284
Add accessor function for allow_overlaps in range trees.

git-svn-id: file:///svn/tokudb@1824 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:49:34 +00:00
Yoni Fogel
16a9e6592b Closes #297
toku_malloc/calloc/realloc/memdup now use size_t instead of
nonportable int types.

git-svn-id: file:///svn/tokudb@1823 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:35:54 +00:00
Bradley C. Kuszmaul
28428074a1 Log the pivots correctly. Addresses #27.
git-svn-id: file:///svn/tokudb@1822 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:29:06 +00:00
Yoni Fogel
e5f752c311 Addresses #284
Added user malloc/free/realloc functions to the range tree.

git-svn-id: file:///svn/tokudb@1821 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:25:56 +00:00
Bradley C. Kuszmaul
407c0ebebf Log the fingerprints correctly. Addresses #27.
git-svn-id: file:///svn/tokudb@1820 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:06:23 +00:00
Yoni Fogel
09bbe6ddd6 Addresses #293
Checkpoint in lock tree implementation

git-svn-id: file:///svn/tokudb@1806 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 21:46:59 +00:00
Bradley C. Kuszmaul
e4b5463050 Make the dumper print more (maybe all stuff)
git-svn-id: file:///svn/tokudb@1803 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 19:30:02 +00:00
Vincenzo Liberatore
3c39874f91 Addresses 289
Added doxygen file and the generated doxygen documentation for range trees

git-svn-id: file:///svn/tokudb@1801 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 19:17:14 +00:00
Bradley C. Kuszmaul
156d6520e8 Make benchmark-test a little quieter by default, and make -v make it a little louder again. Addresses #13.
git-svn-id: file:///svn/tokudb@1800 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 18:37:07 +00:00
Bradley C. Kuszmaul
51d865dceb Log the distribute for a split in the other order. Addresses #27.
git-svn-id: file:///svn/tokudb@1799 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 18:33:51 +00:00
Bradley C. Kuszmaul
015bc27f2f Don't be wasteful when splitting brt leaves. Fixes #294.
This makes big difference for space (46% smaller) and a small time difference (5% faster), as measured by benchmark-test.

Before:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial  8.753964s   119783/s    random  5.640094s   185915/s    cumulative 14.394118s   145695/s
serial  9.381472s   111771/s    random  7.325284s   143145/s    cumulative 31.100944s   134861/s
serial  9.859233s   106355/s    random  6.734307s   155707/s    cumulative 47.694553s   131911/s
serial 11.069200s    94729/s    random  6.885863s   152280/s    cumulative 65.649695s   127778/s
Shutdown  4.636875s
Total time 70.286611s for 8388608 insertions =   119349/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 730344924 Jan 22 11:47 sinsert.brt
}}}

After:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial  8.521855s   123046/s    random  5.730942s   182967/s    cumulative 14.252861s   147139/s
serial  9.106047s   115152/s    random  7.001765s   149759/s    cumulative 30.360740s   138149/s
serial  9.543696s   109871/s    random  6.651000s   157657/s    cumulative 46.555503s   135139/s
serial 10.627035s    98671/s    random  6.555884s   159944/s    cumulative 63.738491s   131610/s
Shutdown  2.818513s
Total time 66.557042s for 8388608 insertions =   126036/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 396894480 Jan 22 11:45 sinsert.brt
}}}



git-svn-id: file:///svn/tokudb@1798 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 16:27:54 +00:00
Rich Prohaska
c319506339 add DB_TXN_NOWAIT to fix builds
git-svn-id: file:///svn/tokudb@1796 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 15:42:54 +00:00
Rich Prohaska
989bdd3f7e DB_LOCK_NOTGRANTED addresses #290
git-svn-id: file:///svn/tokudb@1787 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 01:21:28 +00:00
Yoni Fogel
85f4664359 Addresses #292
Addresses #293

Checkpoint in header and implementation of lock tree.

git-svn-id: file:///svn/tokudb@1786 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 00:35:06 +00:00
Yoni Fogel
c2fa081cae Removed old version of lock tree
from ydb-internal.h



git-svn-id: file:///svn/tokudb@1785 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 00:32:56 +00:00
Yoni Fogel
6354d097d9 Addresses #284
Added comment about static buffers being fine if they are of sufficient size
i.e. for limited queries.

git-svn-id: file:///svn/tokudb@1784 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 00:32:10 +00:00
Yoni Fogel
bf30a38401 Added DB_LOCK_NOTGRANTED
Addresses #290

git-svn-id: file:///svn/tokudb@1783 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 00:01:01 +00:00
Yoni Fogel
9858fb38ef Added DB_LOCK_NOTGRANTED
Addresses #290

git-svn-id: file:///svn/tokudb@1782 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 23:59:04 +00:00
Rich Prohaska
69b27cccb8 simplify the pma searches. addresses #250
git-svn-id: file:///svn/tokudb@1780 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 21:03:23 +00:00
Yoni Fogel
3d6589dc5e Addresses #284
Coded toku_rt_decrease capacity to reclaim memory if size of range tree becomes
too small for local array.

git-svn-id: file:///svn/tokudb@1779 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 20:17:46 +00:00
Yoni Fogel
4f767ef48a Closes 284
Linear time range tree implementation complete and passes all tests.

git-svn-id: file:///svn/tokudb@1778 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 20:14:22 +00:00
Yoni Fogel
5dfdc1bc98 Closes #288
Fixed minor bugs in tests.

git-svn-id: file:///svn/tokudb@1777 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 20:12:41 +00:00
Yoni Fogel
0cf40db292 Addresses #284
Checkpoint in implementing linear.c

git-svn-id: file:///svn/tokudb@1776 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 19:38:09 +00:00
Yoni Fogel
b32ac2cb37 Addresses #288
test Cases for pred/succ
 * Empty tree
  * Pred return nothing.
  * Succ return nothing.
 * 1 element tree.
  * Pred
  * Before
  * left
  * middle
  * right
  * after.
 * Succ
  * Before
  * left
  * middle
  * right
  * after
 * 2 element tree.
  * Pred, Succ
   * In empty space
    * Nothing to the left/Right (pred/succ) respectively.
    * something to the left/right (pred/succ) respectively.
   * On left endpoint.
    * Nothing to the left/Right (pred/succ) respectively.
    * something to the left/right (pred/succ) respectively.
   * On right endpoint.
    * Nothing to the left/Right (pred/succ) respectively.
    * something to the left/right (pred/succ) respectively.
   * In middle of range.
    * Nothing to the left/Right (pred/succ) respectively.
    * something to the left/right (pred/succ) respectively.


git-svn-id: file:///svn/tokudb@1774 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 16:08:41 +00:00
Yoni Fogel
8db3779f11 Addresses #287
Bugfix in error cases of range trees.

git-svn-id: file:///svn/tokudb@1773 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 16:08:26 +00:00
Rich Prohaska
f62ff656d5 make test-coverage addresses #277
git-svn-id: file:///svn/tokudb@1772 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 15:46:12 +00:00
Rich Prohaska
374474293a build the coverage tool addresses #277
git-svn-id: file:///svn/tokudb@1771 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 15:24:59 +00:00
Yoni Fogel
6d1c862561 Addresses #288
Fixes bugs in tests where find parameters did not have data == NULL

git-svn-id: file:///svn/tokudb@1770 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 15:20:21 +00:00
Yoni Fogel
0ac037f296 Addresses #288
* Query Tests:
  * Tree is empty (return none).
  * Tree contains only elements to the left.
  * Tree contains only elements to the right.
  * Tree contains only elements to the left and to the right.
  * Tree contains overlaps and elements to the left.
  * Tree contains overlaps and elements to the right.
  * Tree contains overlaps and elements to the left and to the right.


git-svn-id: file:///svn/tokudb@1769 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 15:15:32 +00:00
Yoni Fogel
3dfc59f193 Addresses #288
* Query Tests:
  * Tree is empty (return none).
  * Tree contains only elements to the left.
  * Tree contains only elements to the right.
  * Tree contains only elements to the left and to the right.
  * Tree contains overlaps and elements to the left.
  * Tree contains overlaps and elements to the right.
  * Tree contains overlaps and elements to the left and to the right.


git-svn-id: file:///svn/tokudb@1768 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 15:15:08 +00:00
Rich Prohaska
155a75874a add test-coverage target addresses #277
git-svn-id: file:///svn/tokudb@1767 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-21 14:03:46 +00:00
Yoni Fogel
9d76a97baa Addresses #288
Test of     /*
        Limited/Unlimited Queries

        Limit of k does not produce all, but limit of 0 does.         Single point overlaps
    */


git-svn-id: file:///svn/tokudb@1757 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-20 01:54:43 +00:00
Yoni Fogel
e5f4d2acfb Addresses #287
Updated header and makefile for rangetree.h

git-svn-id: file:///svn/tokudb@1746 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-19 00:22:25 +00:00
Yoni Fogel
0430769843 Addresses #288
Added the following tests:

 * Single point overlaps
  * Tree: {|0-1|}, query of |1-2| returns |0-1|
  * Tree: {|1-2|}, query of |0-1| returns |1-2|
  * Tree: {|1-2|}, insert of of |0-1| success == allow_overlaps
  * Tree: {|0-1|}, insert of of |1-2| success == allow_overlaps
 * Complete overlaps
  * Tree: {|0-3|}, query of |1-2| returns |0-3|
  * Tree: {|1-2|}, query of |0-3| returns |1-2|
  * Tree: {|1-2|}, insert of of |0-3| success == allow_overlaps
  * Tree: {|0-3|}, insert of of |1-2| success == allow_overlaps
 * Exact overlaps
  * Tree: {|0-3|}, query of |0-3| returns |0-3|
  * Tree: {|0-3|}, insert of of |0-3| success == allow_overlaps

Also freed buf and NULLed the pointer to help find memory leaks.

git-svn-id: file:///svn/tokudb@1745 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-19 00:14:16 +00:00
Yoni Fogel
0244928d0c Addresses #288
More range tree tests.

git-svn-id: file:///svn/tokudb@1744 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 23:42:27 +00:00
Yoni Fogel
8042a1d132 Addresses #288
Additional tests for range trees.

git-svn-id: file:///svn/tokudb@1743 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 22:27:23 +00:00
Yoni Fogel
2b94f88627 Addresses #287 Moved documentation from toku_rt_delete
back to toku_rt_insert.
The error code was for insert, not delete.

git-svn-id: file:///svn/tokudb@1742 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 22:15:53 +00:00
Yoni Fogel
e360035b3a Addresses #287 Added missing error code to toku_rt_insert
git-svn-id: file:///svn/tokudb@1741 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 22:14:32 +00:00
Yoni Fogel
2eff86b295 Addresses #288
First set of test cases for range trees.
linear.c is stub implementation so we can compile and write tests before
we actually implement the range tree.

The makefiles were modified just enough to get this to work, and have to
be cleaned up a lot.

git-svn-id: file:///svn/tokudb@1740 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 22:10:19 +00:00