mirror of
https://github.com/isar/libmdbx.git
synced 2025-04-01 02:32:57 +08:00
mdbx: переименование cursor_validate()
(backport).
This commit is contained in:
parent
91570a084f
commit
1720762080
20
src/cursor.c
20
src/cursor.c
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
|
|
||||||
__cold int cursor_check(const MDBX_cursor *mc) {
|
__cold int cursor_validate(const MDBX_cursor *mc) {
|
||||||
if (!mc->txn->tw.dirtylist) {
|
if (!mc->txn->tw.dirtylist) {
|
||||||
cASSERT(mc, (mc->txn->flags & MDBX_WRITEMAP) != 0 && !MDBX_AVOID_MSYNC);
|
cASSERT(mc, (mc->txn->flags & MDBX_WRITEMAP) != 0 && !MDBX_AVOID_MSYNC);
|
||||||
} else {
|
} else {
|
||||||
@ -81,10 +81,10 @@ __cold int cursor_check(const MDBX_cursor *mc) {
|
|||||||
return MDBX_SUCCESS;
|
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;
|
const uint8_t checking = mc->checking;
|
||||||
mc->checking |= z_updating;
|
mc->checking |= z_updating;
|
||||||
const int rc = cursor_check(mc);
|
const int rc = cursor_validate(mc);
|
||||||
mc->checking = checking;
|
mc->checking = checking;
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -938,7 +938,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
err = cursor_check(mc);
|
err = cursor_validate(mc);
|
||||||
if (unlikely(err != MDBX_SUCCESS))
|
if (unlikely(err != MDBX_SUCCESS))
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -947,7 +947,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig
|
|||||||
|
|
||||||
more:
|
more:
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
err = cursor_check(mc);
|
err = cursor_validate(mc);
|
||||||
if (unlikely(err != MDBX_SUCCESS))
|
if (unlikely(err != MDBX_SUCCESS))
|
||||||
return err;
|
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);
|
memcpy(page_data(lp.page), data->iov_base, data->iov_len);
|
||||||
|
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
err = cursor_check(mc);
|
err = cursor_validate(mc);
|
||||||
if (unlikely(err != MDBX_SUCCESS))
|
if (unlikely(err != MDBX_SUCCESS))
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -1274,7 +1274,7 @@ __hot int cursor_put(MDBX_cursor *mc, const MDBX_val *key, MDBX_val *data, unsig
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
err = cursor_check(mc);
|
err = cursor_validate(mc);
|
||||||
if (unlikely(err != MDBX_SUCCESS))
|
if (unlikely(err != MDBX_SUCCESS))
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -1292,7 +1292,7 @@ insert_node:;
|
|||||||
if (page_room(mc->pg[mc->top]) < nsize) {
|
if (page_room(mc->pg[mc->top]) < nsize) {
|
||||||
rc = page_split(mc, key, ref_data, P_INVALID, insert_key ? naf : naf | MDBX_SPLIT_REPLACE);
|
rc = page_split(mc, key, ref_data, P_INVALID, insert_key ? naf : naf | MDBX_SPLIT_REPLACE);
|
||||||
if (rc == MDBX_SUCCESS && AUDIT_ENABLED())
|
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 {
|
} else {
|
||||||
/* There is room already in this leaf page. */
|
/* There is room already in this leaf page. */
|
||||||
if (is_dupfix_leaf(mc->pg[mc->top])) {
|
if (is_dupfix_leaf(mc->pg[mc->top])) {
|
||||||
@ -1414,7 +1414,7 @@ insert_node:;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (AUDIT_ENABLED())
|
if (AUDIT_ENABLED())
|
||||||
rc = cursor_check(mc);
|
rc = cursor_validate(mc);
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
@ -1686,7 +1686,7 @@ del_key:
|
|||||||
|
|
||||||
cASSERT(mc, rc == MDBX_SUCCESS);
|
cASSERT(mc, rc == MDBX_SUCCESS);
|
||||||
if (AUDIT_ENABLED())
|
if (AUDIT_ENABLED())
|
||||||
rc = cursor_check(mc);
|
rc = cursor_validate(mc);
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
@ -233,7 +233,7 @@ enum cursor_checking {
|
|||||||
z_pagecheck = 0x80 /* perform page checking, see MDBX_VALIDATION */
|
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) {
|
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);
|
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_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);
|
MDBX_INTERNAL int __must_check_result cursor_del(MDBX_cursor *mc, unsigned flags);
|
||||||
|
|
||||||
|
@ -880,7 +880,7 @@ retry:
|
|||||||
if (nkeys >= minkeys) {
|
if (nkeys >= minkeys) {
|
||||||
mc->ki[mc->top] = (indx_t)ki_top;
|
mc->ki[mc->top] = (indx_t)ki_top;
|
||||||
if (AUDIT_ENABLED())
|
if (AUDIT_ENABLED())
|
||||||
return cursor_check_updating(mc);
|
return cursor_validate_updating(mc);
|
||||||
return MDBX_SUCCESS;
|
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];
|
const size_t newindx = mc->ki[mc->top];
|
||||||
size_t nkeys = page_numkeys(mp);
|
size_t nkeys = page_numkeys(mp);
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
rc = cursor_check_updating(mc);
|
rc = cursor_validate_updating(mc);
|
||||||
if (unlikely(rc != MDBX_SUCCESS))
|
if (unlikely(rc != MDBX_SUCCESS))
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -979,7 +979,7 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne
|
|||||||
mc->top = 1;
|
mc->top = 1;
|
||||||
prev_top = 0;
|
prev_top = 0;
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
rc = cursor_check_updating(mc);
|
rc = cursor_validate_updating(mc);
|
||||||
if (unlikely(rc != MDBX_SUCCESS))
|
if (unlikely(rc != MDBX_SUCCESS))
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -1092,10 +1092,10 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
rc = cursor_check_updating(mc);
|
rc = cursor_validate_updating(mc);
|
||||||
if (unlikely(rc != MDBX_SUCCESS))
|
if (unlikely(rc != MDBX_SUCCESS))
|
||||||
goto done;
|
goto done;
|
||||||
rc = cursor_check_updating(mn);
|
rc = cursor_validate_updating(mn);
|
||||||
if (unlikely(rc != MDBX_SUCCESS))
|
if (unlikely(rc != MDBX_SUCCESS))
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -1221,7 +1221,7 @@ int page_split(MDBX_cursor *mc, const MDBX_val *const newkey, MDBX_val *const ne
|
|||||||
goto done;
|
goto done;
|
||||||
cASSERT(mc, mc->top - top == mc->tree->height - height);
|
cASSERT(mc, mc->top - top == mc->tree->height - height);
|
||||||
if (AUDIT_ENABLED()) {
|
if (AUDIT_ENABLED()) {
|
||||||
rc = cursor_check_updating(mc);
|
rc = cursor_validate_updating(mc);
|
||||||
if (unlikely(rc != MDBX_SUCCESS))
|
if (unlikely(rc != MDBX_SUCCESS))
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -1474,7 +1474,7 @@ done:
|
|||||||
mc->txn->flags |= MDBX_TXN_ERROR;
|
mc->txn->flags |= MDBX_TXN_ERROR;
|
||||||
else {
|
else {
|
||||||
if (AUDIT_ENABLED())
|
if (AUDIT_ENABLED())
|
||||||
rc = cursor_check_updating(mc);
|
rc = cursor_validate_updating(mc);
|
||||||
if (unlikely(naf & MDBX_RESERVE)) {
|
if (unlikely(naf & MDBX_RESERVE)) {
|
||||||
node_t *node = page_node(mc->pg[mc->top], mc->ki[mc->top]);
|
node_t *node = page_node(mc->pg[mc->top], mc->ki[mc->top]);
|
||||||
if (!(node_flags(node) & N_BIG))
|
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);
|
node_del(mc, 0);
|
||||||
int err = page_split(mc, key, nullptr, pgno, MDBX_SPLIT_REPLACE);
|
int err = page_split(mc, key, nullptr, pgno, MDBX_SPLIT_REPLACE);
|
||||||
if (err == MDBX_SUCCESS && AUDIT_ENABLED())
|
if (err == MDBX_SUCCESS && AUDIT_ENABLED())
|
||||||
err = cursor_check_updating(mc);
|
err = cursor_validate_updating(mc);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user