Просмотр исходного кода

fix(ds): make conditionals less confusing

Andrew Mayorov 1 год назад
Родитель
Сommit
0c05b3f019
1 измененных файлов с 6 добавлено и 5 удалено
  1. 6 5
      apps/emqx_durable_storage/src/emqx_ds.erl

+ 6 - 5
apps/emqx_durable_storage/src/emqx_ds.erl

@@ -113,14 +113,15 @@
     | {delete, message(_)}.
 
 %% Precondition.
-%% Fails whole batch if the message in question does not match (`while'), or
-%% does match (`unless'). Here "match" means that it either just exists (when
-%% pattern is '_') or has exactly the same payload, rest of the message fields are
-%% irrelevant. Useful to construct batches with "compare-and-set" semantics.
+%% Fails whole batch if the storage already has the matching message (`if_exists'),
+%% or does not yet have (`unless_exists'). Here "matching" means that it either
+%% just exists (when pattern is '_') or has exactly the same payload, rest of the
+%% message fields are irrelevant.
+%% Useful to construct batches with "compare-and-set" semantics.
 %% Note: backends may not support this, but if they do only DBs with `atomic_batches'
 %% enabled are expected to support preconditions in batches.
 -type precondition() ::
-    {while | unless, message(iodata() | '_')}.
+    {if_exists | unless_exists, message(iodata() | '_')}.
 
 -type rank_x() :: term().