diff options
author | Sverker Eriksson <[email protected]> | 2017-04-03 16:56:29 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2017-04-03 16:56:29 +0200 |
commit | 0b3416203c37eba5354e284b9040799158567133 (patch) | |
tree | f0e617ec41c19a916760b60ad7786821935b31e5 /erts/emulator/beam/erl_db_util.h | |
parent | 2f166031319ec414712a8a91372ba2bc348dae7a (diff) | |
parent | eb9fc2a4361037f06991d30f697f0e3ff6394117 (diff) | |
download | otp-0b3416203c37eba5354e284b9040799158567133.tar.gz otp-0b3416203c37eba5354e284b9040799158567133.tar.bz2 otp-0b3416203c37eba5354e284b9040799158567133.zip |
Merge PR-1076 from g-andrade/feature/ets_conditional_insert OTP-14319
ETS: Allow for conditional insertions
Diffstat (limited to 'erts/emulator/beam/erl_db_util.h')
-rw-r--r-- | erts/emulator/beam/erl_db_util.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h index 72298842d7..9be77fcefa 100644 --- a/erts/emulator/beam/erl_db_util.h +++ b/erts/emulator/beam/erl_db_util.h @@ -169,6 +169,15 @@ typedef struct db_table_method DbTable* tb, /* [in out] */ Eterm continuation, Eterm* ret); + int (*db_select_replace)(Process* p, + DbTable* tb, /* [in out] */ + Eterm tid, + Eterm pattern, + Eterm* ret); + int (*db_select_replace_continue)(Process* p, + DbTable* tb, /* [in out] */ + Eterm continuation, + Eterm* ret); int (*db_take)(Process *, DbTable *, Eterm, Eterm *); int (*db_delete_all_objects)(Process* p, @@ -374,6 +383,7 @@ Eterm db_add_counter(Eterm** hpp, Wterm counter, Eterm incr); Eterm db_match_set_lint(Process *p, Eterm matchexpr, Uint flags); Binary *db_match_set_compile(Process *p, Eterm matchexpr, Uint flags); +int db_match_keeps_key(int keypos, Eterm match, Eterm guard, Eterm body); int erts_db_match_prog_destructor(Binary *); typedef struct match_prog { |