| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
WT-1315 Cursor join implementation
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
WT-2218 Add truncate stats
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/include/wiredtiger.in
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
WT-2224 Track which deleted refs are discarded by a split.
|
| | | | |
|
|/ / / |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
../src/session/session_api.c:654:12: error: declaration of 'index' shadows a global declaration [-Werror=shadow]
(Note: these were not picked up earlier because Jenkins scheduled
builds on a server with a different version of GCC).
|
| | |
| | |
| | |
| | | |
../src/cursor/cur_join.c:1024:11: error: 'ins' may be used uninitialized in this function [-Werror=uninitialized]
|
| | |
| | |
| | |
| | | |
../src/cursor/cur_join.c:1022:11: error: 'ins' may be used uninitialized in this function [-Werror=uninitialized]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
../src/cursor/cur_join.c: In function '__curjoin_entry_member':
../src/cursor/cur_join.c:623:12: error: declaration of 'index' shadows a global declaration [-Werror=shadow]
../src/cursor/cur_join.c: In function '__wt_curjoin_join':
../src/cursor/cur_join.c:891:15: error: declaration of 'index' shadows a global declaration [-Werror=shadow]
|
| | |\
| |_|/
|/| |
| | | |
Also fix some type conversion warnings.
|
|\ \ \
| | | |
| | | | |
WT-2220 Split WT_TIMEDIFF macro into unit specific macros.
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
complain it's not used (it is used in wtperf).
|
| |\ \ \ \ |
|
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | | |
We regularly divide the results, encapsulate that better.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
WT-2182: when internal pages grow large enough, split them into their parents
|
| |\ \ \ \
| |/ / / /
|/| | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
== 0 case in __split_parent, we will give up on the split but return 0.
The cleanup path in __split_parent used to flip the child ref to
WT_REF_DELETED but this branch has removed that code, and I don't think
the code here can know whether the ref was unlocked.
Change __split_parent to return EBUSY, but without the verbose error
messages, in this case.
|
| |\ \ \ \
| |/ / / /
|/| | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
WT-2182: fixes for splitting up the tree.
|
| | |\ \ \ \
| | |/ / / /
| |/| | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
from the root of the tree.
Don't bother initializing cmp, it's never used unless it's been set (and
if it triggers some compiler warning, I'll add a comment).
|
| | |\ \ \ \
| | |/ / / /
| |/| | | | |
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
fixed up the moved WT_REF parent references. The problem is racing
with other splits trying to do the same thing, we could fight over the
update to the WT_REF. Add a new flag to the page that blocks splits.
We can't depend on the newly created internal page's WT_REF being in a
WT_REF_MEM state, there's nothing eviction from trying to evict those
pages (even if they can't succeed). Change the code that fixes up the
moved WT_REFs to get the page and a hazard pointer.
Since we have a new page flag that blocks splits, also use the page
flag to block eviction instead of setting WT_PAGE_MODIFY.mod_split_txn
to UINT64_MAX (it's WT_TXN_ABORTED, which is probably a bad idea).
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
child page is created: the problem is a thread of control being created
after we set a created child page's mod_split_txn field, but before
we've swapped the page's new page-index structure into place: that
thread could be reading the old page-index structure, and it has a
transactional ID after the one set to protect the child page's WT_REF
structure.
Instead, set the child page's mod_split_txn to a never-visible value
when the child page is created, and reset it to a newly allocated
transaction ID when fixing up the child pages after the split has
happened.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
other than deepening the tree.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
the split, into its own function.
|
| | | |\ \ \ \
| | |_|/ / / /
| |/| | | | | |
|
| | | | | | | |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
the child pages: the first entry can be ignored. (This isn't a performance
change, but it's cleaner if the two loops match.)
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
we've already discarded the page. Fix that, and fix the calculation that
shows the number of elements being added/subtracted from the parent page.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
we could clear both skiphigh and skiplow in the search loop above,
but it's not unreasonable to believe skiplow will allow us to skip
some search bytes, so leave it the way it was.
|