Ver a proveniência

ft: 添加transaction 事务执行

master
SisMaker há 5 meses
ascendente
cometimento
16bc72bd63
1 ficheiros alterados com 7 adições e 6 eliminações
  1. +7
    -6
      src/eGLock.erl

+ 7
- 6
src/eGLock.erl Ver ficheiro

@ -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;

Carregando…
Cancelar
Guardar