Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
HAMANO Tsukasa
OpenLDAP
Commits
2f7ddb41
Commit
2f7ddb41
authored
Aug 11, 2011
by
Howard Chu
Browse files
Cleanup, add mdb_cursor_count()
parent
2e776bd3
Changes
4
Hide whitespace changes
Inline
Side-by-side
libraries/libmdb/mdb.c
View file @
2f7ddb41
...
...
@@ -1029,7 +1029,8 @@ mdbenv_write_meta(MDB_txn *txn)
assert
(
txn
!=
NULL
);
assert
(
txn
->
mt_env
!=
NULL
);
DPRINTF
(
"writing meta page for root page %lu"
,
txn
->
mt_dbs
[
MAIN_DBI
].
md_root
);
DPRINTF
(
"writing meta page %d for root page %lu"
,
!
F_ISSET
(
txn
->
mt_flags
,
MDB_TXN_METOGGLE
),
txn
->
mt_dbs
[
MAIN_DBI
].
md_root
);
env
=
txn
->
mt_env
;
...
...
@@ -1125,7 +1126,7 @@ mdbenv_get_maxreaders(MDB_env *env, int *readers)
return
MDB_SUCCESS
;
}
int
static
int
mdbenv_open2
(
MDB_env
*
env
,
unsigned
int
flags
)
{
int
i
,
newenv
=
0
;
...
...
@@ -2345,6 +2346,23 @@ mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **ret)
return
MDB_SUCCESS
;
}
/* Return the count of duplicate data items for the current key */
int
mdb_cursor_count
(
MDB_cursor
*
mc
,
unsigned
long
*
countp
)
{
if
(
mc
==
NULL
||
countp
==
NULL
)
return
EINVAL
;
if
(
!
(
mc
->
mc_txn
->
mt_dbs
[
mc
->
mc_dbi
].
md_flags
&
MDB_DUPSORT
))
return
EINVAL
;
if
(
!
mc
->
mc_xcursor
->
mx_cursor
.
mc_initialized
)
return
EINVAL
;
*
countp
=
mc
->
mc_xcursor
->
mx_txn
.
mt_dbs
[
mc
->
mc_xcursor
->
mx_cursor
.
mc_dbi
].
md_entries
;
return
MDB_SUCCESS
;
}
void
mdb_cursor_close
(
MDB_cursor
*
cursor
)
{
...
...
libraries/libmdb/mdb.h
View file @
2f7ddb41
...
...
@@ -131,9 +131,7 @@ int mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **cursor);
void
mdb_cursor_close
(
MDB_cursor
*
cursor
);
int
mdb_cursor_get
(
MDB_cursor
*
cursor
,
MDB_val
*
key
,
MDB_val
*
data
,
MDB_cursor_op
op
);
int
mdb_cursor_put
(
MDB_cursor
*
cursor
,
MDB_val
*
key
,
MDB_val
*
data
,
MDB_cursor_op
op
);
int
mdb_cursor_del
(
MDB_cursor
*
cursor
,
unsigned
int
flags
);
int
mdb_cursor_count
(
MDB_cursor
*
cursor
,
unsigned
long
*
countp
);
int
mdb_cmp
(
MDB_txn
*
txn
,
MDB_dbi
dbi
,
const
MDB_val
*
a
,
const
MDB_val
*
b
);
...
...
libraries/libmdb/mtest.c
View file @
2f7ddb41
...
...
@@ -25,7 +25,7 @@ int main(int argc,char * argv[])
MDB_val
key
,
data
;
MDB_txn
*
txn
;
MDB_stat
mst
;
MDB_cursor
*
cursor
,
*
cur2
;
MDB_cursor
*
cursor
;
int
count
;
int
*
values
;
char
sval
[
32
];
...
...
libraries/libmdb/mtest2.c
View file @
2f7ddb41
...
...
@@ -25,7 +25,7 @@ int main(int argc,char * argv[])
MDB_val
key
,
data
;
MDB_txn
*
txn
;
MDB_stat
mst
;
MDB_cursor
*
cursor
,
*
cur2
;
MDB_cursor
*
cursor
;
int
count
;
int
*
values
;
char
sval
[
32
];
...
...
Write
Preview
Supports
Markdown
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