From 17207620800c285200901bb99d24fb12070bb013 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: Thu, 20 Mar 2025 01:19:31 +0300 Subject: [PATCH] =?UTF-8?q?mdbx:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20`cursor=5Fva?= =?UTF-8?q?lidate()`=20(backport).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cursor.c | 20 ++++++++++---------- src/cursor.h | 4 ++-- src/tree-ops.c | 16 ++++++++-------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/cursor.c b/src/cursor.c index 9c1192d9..ff2c67e8 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -5,7 +5,7 @@ #include "internals.h" -__cold int cursor_check(const MDBX_cursor *mc) { +__cold int cursor_validate(const MDBX_cursor *mc) { if (!mc->txn->tw.dirtylist) { cASSERT(mc, (mc->txn->flags & MDBX_WRITEMAP) != 0 && !MDBX_AVOID_MSYNC); } else { @@ -81,10 +81,10 @@ __cold int cursor_check(const MDBX_cursor *mc) { return MDBX_SUCCESS; } -__cold int cursor_check_updating(MDBX_cursor *mc) { +__cold int cursor_validate_updating(MDBX_cursor *mc) { const uint8_t checking = mc->checking; mc->checking |= z_updating; - const int rc = cursor_check(mc); + const int rc = cursor_validate(mc); mc->checking = checking; return rc; } @@ -938,7 +938,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig } if (AUDIT_ENABLED()) { - err = cursor_check(mc); + err = cursor_validate(mc); if (unlikely(err != MDBX_SUCCESS)) return err; } @@ -947,7 +947,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig more: if (AUDIT_ENABLED()) { - err = cursor_check(mc); + err = cursor_validate(mc); if (unlikely(err != MDBX_SUCCESS)) return err; } @@ -1008,7 +1008,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig memcpy(page_data(lp.page), data->iov_base, data->iov_len); if (AUDIT_ENABLED()) { - err = cursor_check(mc); + err = cursor_validate(mc); if (unlikely(err != MDBX_SUCCESS)) return err; } @@ -1274,7 +1274,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig } if (AUDIT_ENABLED()) { - err = cursor_check(mc); + err = cursor_validate(mc); if (unlikely(err != MDBX_SUCCESS)) return err; } @@ -1292,7 +1292,7 @@ insert_node:; if (page_room(mc->pg[mc->top]) < nsize) { rc = page_split(mc, key, ref_data, P_INVALID, insert_key ? naf : naf | MDBX_SPLIT_REPLACE); if (rc == MDBX_SUCCESS && AUDIT_ENABLED()) - rc = insert_key ? cursor_check(mc) : cursor_check_updating(mc); + rc = insert_key ? cursor_validate(mc) : cursor_validate_updating(mc); } else { /* There is room already in this leaf page. */ if (is_dupfix_leaf(mc->pg[mc->top])) { @@ -1414,7 +1414,7 @@ insert_node:; } } if (AUDIT_ENABLED()) - rc = cursor_check(mc); + rc = cursor_validate(mc); } return rc; @@ -1686,7 +1686,7 @@ del_key: cASSERT(mc, rc == MDBX_SUCCESS); if (AUDIT_ENABLED()) - rc = cursor_check(mc); + rc = cursor_validate(mc); return rc; fail: diff --git a/src/cursor.h b/src/cursor.h index d06bad3a..4fa0e585 100644 --- a/src/cursor.h +++ b/src/cursor.h @@ -233,7 +233,7 @@ enum cursor_checking { z_pagecheck = 0x80 /* perform page checking, see MDBX_VALIDATION */ }; -MDBX_INTERNAL int __must_check_result cursor_check(const MDBX_cursor *mc); +MDBX_INTERNAL int __must_check_result cursor_validate(const MDBX_cursor *mc); MDBX_MAYBE_UNUSED MDBX_NOTHROW_PURE_FUNCTION static inline size_t cursor_dbi(const MDBX_cursor *mc) { cASSERT(mc, mc->txn && mc->txn->signature == txn_signature); @@ -305,7 +305,7 @@ MDBX_INTERNAL int __must_check_result cursor_put_checklen(MDBX_cursor *mc, const MDBX_INTERNAL int __must_check_result cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsigned flags); -MDBX_INTERNAL int __must_check_result cursor_check_updating(MDBX_cursor *mc); +MDBX_INTERNAL int __must_check_result cursor_validate_updating(MDBX_cursor *mc); MDBX_INTERNAL int __must_check_result cursor_del(MDBX_cursor *mc, unsigned flags); diff --git a/src/tree-ops.c b/src/tree-ops.c index d0456792..85131c42 100644 --- a/src/tree-ops.c +++ b/src/tree-ops.c @@ -880,7 +880,7 @@ retry: if (nkeys >= minkeys) { mc->ki[mc->top] = (indx_t)ki_top; if (AUDIT_ENABLED()) - return cursor_check_updating(mc); + return cursor_validate_updating(mc); return MDBX_SUCCESS; } @@ -920,7 +920,7 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne const size_t newindx = mc->ki[mc->top]; size_t nkeys = page_numkeys(mp); if (AUDIT_ENABLED()) { - rc = cursor_check_updating(mc); + rc = cursor_validate_updating(mc); if (unlikely(rc != MDBX_SUCCESS)) return rc; } @@ -979,7 +979,7 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne mc->top = 1; prev_top = 0; if (AUDIT_ENABLED()) { - rc = cursor_check_updating(mc); + rc = cursor_validate_updating(mc); if (unlikely(rc != MDBX_SUCCESS)) goto done; } @@ -1092,10 +1092,10 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne } if (AUDIT_ENABLED()) { - rc = cursor_check_updating(mc); + rc = cursor_validate_updating(mc); if (unlikely(rc != MDBX_SUCCESS)) goto done; - rc = cursor_check_updating(mn); + rc = cursor_validate_updating(mn); if (unlikely(rc != MDBX_SUCCESS)) goto done; } @@ -1221,7 +1221,7 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne goto done; cASSERT(mc, mc->top - top == mc->tree->height - height); if (AUDIT_ENABLED()) { - rc = cursor_check_updating(mc); + rc = cursor_validate_updating(mc); if (unlikely(rc != MDBX_SUCCESS)) goto done; } @@ -1474,7 +1474,7 @@ done: mc->txn->flags |= MDBX_TXN_ERROR; else { if (AUDIT_ENABLED()) - rc = cursor_check_updating(mc); + rc = cursor_validate_updating(mc); if (unlikely(naf & MDBX_RESERVE)) { node_t *node = page_node(mc->pg[mc->top], mc->ki[mc->top]); if (!(node_flags(node) & N_BIG)) @@ -1524,7 +1524,7 @@ int tree_propagate_key(MDBX_cursor *mc, const MDBX_val *key) { node_del(mc, 0); int err = page_split(mc, key, nullptr, pgno, MDBX_SPLIT_REPLACE); if (err == MDBX_SUCCESS && AUDIT_ENABLED()) - err = cursor_check_updating(mc); + err = cursor_validate_updating(mc); return err; }