Sfoglia il codice sorgente

ft: 添加transaction 事务执行

master
SisMaker 4 mesi fa
parent
commit
16bc72bd63
1 ha cambiato i file con 7 aggiunte e 6 eliminazioni
  1. +7
    -6
      src/eGLock.erl

+ 7
- 6
src/eGLock.erl Vedi File

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

Caricamento…
Annulla
Salva