Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
orbea -
OpenLDAP
Commits
267fe028
Commit
267fe028
authored
Mar 15, 2021
by
Quanah Gibson-Mount
Browse files
Merge remote-tracking branch 'origin/mdb.RE/0.9'
parents
f2e6efed
b807a63f
Changes
3
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/CHANGES
View file @
267fe028
LMDB 0.9 Change Log
LMDB 0.9.29 Engineering
ITS#9461 refix ITS#9376
ITS#9500 fix regression from ITS#8662
LMDB 0.9.28 Release (2021/02/04)
ITS#8662 add -a append option to mdb_load
...
...
libraries/liblmdb/lmdb.h
View file @
267fe028
...
...
@@ -928,7 +928,7 @@ void *mdb_env_get_userctx(MDB_env *env);
typedef
void
MDB_assert_func
(
MDB_env
*
env
,
const
char
*
msg
);
/** Set or reset the assert() callback of the environment.
* Disabled if liblmdb is buil
l
t with NDEBUG.
* Disabled if liblmdb is built with NDEBUG.
* @note This hack should become obsolete as lmdb's error handling matures.
* @param[in] env An environment handle returned by #mdb_env_create().
* @param[in] func An #MDB_assert_func function, or 0.
...
...
libraries/liblmdb/mdb.c
View file @
267fe028
...
...
@@ -493,7 +493,7 @@ static txnid_t mdb_debug_start;
* The string is printed literally, with no format processing.
*/
#define DPUTS(arg) DPRINTF(("%s", arg))
/** Debuging output value of a cursor DBI: Negative in a sub-cursor. */
/** Debug
g
ing output value of a cursor DBI: Negative in a sub-cursor. */
#define DDBI(mc) \
(((mc)->mc_flags & C_SUB) ? -(int)(mc)->mc_dbi : (int)(mc)->mc_dbi)
/** @} */
...
...
@@ -8481,7 +8481,6 @@ mdb_cursor_del0(MDB_cursor *mc)
return
rc
;
}
ki
=
mc
->
mc_ki
[
mc
->
mc_top
];
mp
=
mc
->
mc_pg
[
mc
->
mc_top
];
nkeys
=
NUMKEYS
(
mp
);
...
...
@@ -8493,19 +8492,18 @@ mdb_cursor_del0(MDB_cursor *mc)
if
(
m3
->
mc_snum
<
mc
->
mc_snum
)
continue
;
if
(
m3
->
mc_pg
[
mc
->
mc_top
]
==
mp
)
{
if
(
m3
->
mc_ki
[
mc
->
mc_top
]
>=
mc
->
mc_ki
[
mc
->
mc_top
])
{
/* if m3 points past last node in page, find next sibling */
if
(
m3
->
mc_ki
[
mc
->
mc_top
]
>=
nkeys
)
{
rc
=
mdb_cursor_sibling
(
m3
,
1
);
if
(
rc
==
MDB_NOTFOUND
)
{
m3
->
mc_flags
|=
C_EOF
;
rc
=
MDB_SUCCESS
;
continue
;
if
(
m3
->
mc_ki
[
mc
->
mc_top
]
>=
nkeys
)
{
rc
=
mdb_cursor_sibling
(
m3
,
1
);
if
(
rc
==
MDB_NOTFOUND
)
{
m3
->
mc_flags
|=
C_EOF
;
rc
=
MDB_SUCCESS
;
continue
;
}
if
(
rc
)
goto
fail
;
}
if
(
rc
)
goto
fail
;
}
if
(
m3
->
mc_ki
[
mc
->
mc_top
]
>=
ki
||
/* moved to right sibling */
m3
->
mc_pg
[
mc
->
mc_top
]
!=
mp
)
{
if
(
m3
->
mc_xcursor
&&
!
(
m3
->
mc_flags
&
C_EOF
))
{
MDB_node
*
node
=
NODEPTR
(
m3
->
mc_pg
[
m3
->
mc_top
],
m3
->
mc_ki
[
m3
->
mc_top
]);
/* If this node has dupdata, it may need to be reinited
...
...
@@ -8527,10 +8525,10 @@ mdb_cursor_del0(MDB_cursor *mc)
}
m3
->
mc_xcursor
->
mx_cursor
.
mc_flags
|=
C_DEL
;
}
m3
->
mc_flags
|=
C_DEL
;
}
}
}
mc
->
mc_flags
|=
C_DEL
;
fail:
if
(
rc
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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