From: Timo Sirainen Date: Thu, 9 Nov 2023 21:28:59 +0000 (+0200) Subject: lib-dict: dict-lua - Add transaction:set_non_atomic() X-Git-Tag: 2.4.0~2441 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e34b194054dfb73671edae76a6fb9deab95086b9;p=thirdparty%2Fdovecot%2Fcore.git lib-dict: dict-lua - Add transaction:set_non_atomic() --- diff --git a/src/lib-dict/dict-txn-lua.c b/src/lib-dict/dict-txn-lua.c index 8b699d1cef..54bb390b99 100644 --- a/src/lib-dict/dict-txn-lua.c +++ b/src/lib-dict/dict-txn-lua.c @@ -25,6 +25,7 @@ static int lua_dict_transaction_commit(lua_State *L); static int lua_dict_set(lua_State *L); static int lua_dict_unset(lua_State *L); static int lua_dict_set_timestamp(lua_State *L); +static int lua_dict_set_non_atomic(lua_State *L); static luaL_Reg lua_dict_txn_methods[] = { { "rollback", lua_dict_transaction_rollback }, @@ -32,6 +33,7 @@ static luaL_Reg lua_dict_txn_methods[] = { { "set", lua_dict_set }, { "unset", lua_dict_unset }, { "set_timestamp", lua_dict_set_timestamp }, + { "set_non_atomic", lua_dict_set_non_atomic }, { NULL, NULL }, }; @@ -265,3 +267,20 @@ static int lua_dict_set_timestamp(lua_State *L) dict_transaction_set_timestamp(txn->txn, &ts); return 0; } + +/* + * Set transaction to be non-atomic [-1,+0,e] + * + * Args: + * 1) userdata: struct lua_dict_txn * + */ +static int lua_dict_set_non_atomic(lua_State *L) +{ + struct lua_dict_txn *txn; + + DLUA_REQUIRE_ARGS(L, 1); + + txn = xlua_dict_txn_getptr(L, 1, NULL); + dict_transaction_set_non_atomic(txn->txn); + return 0; +}