From d0799fd373dabb86ad908bfd64dba6860a46a5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Fri, 22 Mar 2024 22:29:16 +0300 Subject: [PATCH] =?UTF-8?q?mdbx-doc:=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20`mdbx=5Fcursor=5Fon=5Ffirst=5Fdup()`=20=D0=B8=20`mdbx?= =?UTF-8?q?=5Fcursor=5Fon=5Flast=5Fdup()`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mdbx.h | 24 ++++++++++++++++++++++-- src/core.c | 4 ++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/mdbx.h b/mdbx.h index 6f7f5637..fbea08f5 100644 --- a/mdbx.h +++ b/mdbx.h @@ -5501,7 +5501,17 @@ mdbx_cursor_eof(const MDBX_cursor *cursor); MDBX_NOTHROW_PURE_FUNCTION LIBMDBX_API int mdbx_cursor_on_first(const MDBX_cursor *cursor); -/** FIXME */ +/** \brief Определяет стоит ли курсор на первом или единственном мульти-значении + * соответствующем ключу. + * \ingroup c_cursors + * \param [in] cursor Курсор созданный посредством \ref mdbx_cursor_open(). + * \returns Значание \ref MDBX_RESULT_TRUE, либо \ref MDBX_RESULT_FALSE, + * иначе код ошибки. + * \retval MDBX_RESULT_TRUE курсор установлен на первом или единственном + * мульти-значении соответствующем ключу. + * \retval MDBX_RESULT_FALSE курсор НЕ установлен на первом или единственном + * мульти-значении соответствующем ключу. + * \retval ИНАЧЕ код ошибки. */ MDBX_NOTHROW_PURE_FUNCTION LIBMDBX_API int mdbx_cursor_on_first_dup(const MDBX_cursor *cursor); @@ -5519,7 +5529,17 @@ mdbx_cursor_on_first_dup(const MDBX_cursor *cursor); MDBX_NOTHROW_PURE_FUNCTION LIBMDBX_API int mdbx_cursor_on_last(const MDBX_cursor *cursor); -/** FIXME */ +/** \brief Определяет стоит ли курсор на последнем или единственном мульти-значении + * соответствующем ключу. + * \ingroup c_cursors + * \param [in] cursor Курсор созданный посредством \ref mdbx_cursor_open(). + * \returns Значание \ref MDBX_RESULT_TRUE, либо \ref MDBX_RESULT_FALSE, + * иначе код ошибки. + * \retval MDBX_RESULT_TRUE курсор установлен на последнем или единственном + * мульти-значении соответствующем ключу. + * \retval MDBX_RESULT_FALSE курсор НЕ установлен на последнем или единственном + * мульти-значении соответствующем ключу. + * \retval ИНАЧЕ код ошибки. */ MDBX_NOTHROW_PURE_FUNCTION LIBMDBX_API int mdbx_cursor_on_last_dup(const MDBX_cursor *cursor); diff --git a/src/core.c b/src/core.c index 04357264..e69b709b 100644 --- a/src/core.c +++ b/src/core.c @@ -25115,7 +25115,7 @@ int mdbx_cursor_on_first_dup(const MDBX_cursor *mc) { : MDBX_EBADSIGN; if (!(mc->mc_flags & C_INITIALIZED)) - return mc->mc_db->md_entries ? MDBX_RESULT_FALSE : MDBX_RESULT_TRUE; + return MDBX_RESULT_TRUE; if (!mc->mc_xcursor) return MDBX_RESULT_TRUE; @@ -25158,7 +25158,7 @@ int mdbx_cursor_on_last_dup(const MDBX_cursor *mc) { : MDBX_EBADSIGN; if (!(mc->mc_flags & C_INITIALIZED)) - return mc->mc_db->md_entries ? MDBX_RESULT_FALSE : MDBX_RESULT_TRUE; + return MDBX_RESULT_FALSE; if (!mc->mc_xcursor) return MDBX_RESULT_TRUE;