ets v0.8.1 ETS View Source
ETS, an Elixir wrapper for Erlang's :ets module.
See ETS.Set for information on creating and managing Sets, and ETS.Bag for information on creating and managing Bags.
See ETS.KeyValueSet for an abstraction which provides standard key/value interaction with Sets.
What type of ETS table should I use?
Set
If you need your key column to be unique, then you should use a Set. If you just want a simple key/value store,
then use an ETS.KeyValueSet, but if you want to store full tuple records, use an ETS.Set. If you want your
records ordered by key value, which adds some performance overhead on insertion, set ordered: true when creating the Set (defaults to false).
Bag
If you do not need your key column to be unique, then you should use an ETS.Bag, and if you want to prevent exact duplicate
records from being inserted, which adds some performance overhead on insertion, set duplicate: false when creating the Bag
(defaults to true).
Link to this section Summary
Link to this section Types
continuation()
View Sourcecontinuation() :: end_of_table() | {table_reference(), integer(), integer(), comp_match_spec(), list(), integer()} | {table_reference(), any(), any(), integer(), comp_match_spec(), list(), integer(), integer()}
table_identifier()
View Sourcetable_identifier() :: table_name() | table_reference()
Link to this section Functions
Returns list of current :ets tables, each wrapped as either ETS.Set or ETS.Bag.
NOTE: ETS.Bag is not yet implemented. This list returns only :set and :ordered_set tables, both wrapped as ETS.Set.
Examples
iex> {:ok, all} = ETS.all()
iex> x = length(all)
iex> ETS.Set.new!()
iex> {:ok, all} = ETS.all()
iex> length(all) == x + 1
true
Same as all/1 but unwraps or raises on :error.