Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
e48ddc7c
Commit
e48ddc7c
authored
Nov 03, 2010
by
Zardosht Kasheff
Committed by
Yoni Fogel
Apr 16, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[t:3008], more comments
git-svn-id:
file:///svn/toku/tokudb@25156
c7de825b-a66e-492c-adef-691d508d4ae1
parent
819b7787
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
1 deletion
+29
-1
newbrt/ule.c
newbrt/ule.c
+29
-1
No files found.
newbrt/ule.c
View file @
e48ddc7c
...
@@ -1719,7 +1719,20 @@ ule_verify_xids(ULE ule, uint32_t interesting, TXNID *xids) {
...
@@ -1719,7 +1719,20 @@ ule_verify_xids(ULE ule, uint32_t interesting, TXNID *xids) {
}
}
#endif
#endif
//Leafentry iterators
//
// Iterates over "possible" TXNIDs in a leafentry's stack, until one is accepted by 'f'. If the value
// associated with the accepted TXNID is not an insert, then set *is_emptyp to TRUE, otherwise FALSE
// The "possible" TXNIDs are:
// if provisionals exist, then the first possible TXNID is the outermost provisional.
// The next possible TXNIDs are the committed TXNIDs, from most recently committed to T_0.
// If provisionals exist, and the outermost provisional is accepted by 'f',
// the associated value checked is the innermost provisional's value.
// Parameters:
// le - leafentry to iterate over
// f - callback function that checks if a TXNID in le is accepted, and its associated value should be examined.
// is_emptyp - output parameter that returns answer
// context - parameter for f
//
int
int
le_iterate_is_empty
(
LEAFENTRY
le
,
LE_ITERATE_CALLBACK
f
,
BOOL
*
is_emptyp
,
TOKUTXN
context
)
{
le_iterate_is_empty
(
LEAFENTRY
le
,
LE_ITERATE_CALLBACK
f
,
BOOL
*
is_emptyp
,
TOKUTXN
context
)
{
#if ULE_DEBUG
#if ULE_DEBUG
...
@@ -1783,6 +1796,21 @@ cleanup:
...
@@ -1783,6 +1796,21 @@ cleanup:
return
r
;
return
r
;
}
}
//
// Iterates over "possible" TXNIDs in a leafentry's stack, until one is accepted by 'f'. Set
// valpp and vallenp to value and length associated with accepted TXNID
// The "possible" TXNIDs are:
// if provisionals exist, then the first possible TXNID is the outermost provisional.
// The next possible TXNIDs are the committed TXNIDs, from most recently committed to T_0.
// If provisionals exist, and the outermost provisional is accepted by 'f',
// the associated length value is the innermost provisional's length and value.
// Parameters:
// le - leafentry to iterate over
// f - callback function that checks if a TXNID in le is accepted, and its associated value should be examined.
// valpp - output parameter that returns pointer to value
// vallenp - output parameter that returns length of value
// context - parameter for f
//
int
int
le_iterate_val
(
LEAFENTRY
le
,
LE_ITERATE_CALLBACK
f
,
void
**
valpp
,
u_int32_t
*
vallenp
,
TOKUTXN
context
)
{
le_iterate_val
(
LEAFENTRY
le
,
LE_ITERATE_CALLBACK
f
,
void
**
valpp
,
u_int32_t
*
vallenp
,
TOKUTXN
context
)
{
#if ULE_DEBUG
#if ULE_DEBUG
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment