瀏覽代碼

ft: 添加transaction 事务执行

master
SisMaker 4 月之前
父節點
當前提交
16bc72bd63
共有 1 個文件被更改,包括 7 次插入6 次删除
  1. +7
    -6
      src/eGLock.erl

+ 7
- 6
src/eGLock.erl 查看文件

@ -278,13 +278,14 @@ transaction(EtsTabKeys, MFAOrFun, TimeOut) ->
try
EtsTabValue = #{OneGetKey => getEtsTabValue(OneEtsTab, OneKey, OneDefValue) || {OneEtsTab, OneKey} = OneGetKey := OneDefValue <- KeysMap},
case transactionApply(MFAOrFun, EtsTabValue) of
{ok, Ret, ChangeEtsTab} ->
[changeEtsTabValue(OneEtsTab, OneKey, ChangeValue) || {OneEtsTab, OneKey} := ChangeValue <- ChangeEtsTab],
{alterTab, AlterTab} ->
[changeEtsTabValue(OneEtsTab, OneKey, ChangeValue) || {OneEtsTab, OneKey} := ChangeValue <- AlterTab],
ok;
{alterTab, Ret, AlterTab} ->
[changeEtsTabValue(OneEtsTab, OneKey, ChangeValue) || {OneEtsTab, OneKey} := ChangeValue <- AlterTab],
Ret;
{ok, Ret} ->
Ret;
{error, Err} ->
Err
OtherRet ->
OtherRet
end
catch
throw:Throw -> Throw;

Loading…
取消
儲存