amnesia v0.2.7 Amnesia.Access behaviour

This behavior is used to implement a different system while taking advantage of mnesia.

It’s used by mnesia itself to implement fragmentation using mnesia_frag and mnesia:activity.

Summary

Types

id()
id
lock_item()
lock_item() :: {:table, atom} | {:global, any, [node]}
lock_kind()
lock_kind() :: :write | :read | :sticky_write

Functions

all_keys(id, opaque, table, lock)
all_keys(id, any, atom, lock_kind) :: [any]
clear_table(id, opaque, table, object)
clear_table(id, any, atom, any) ::
  {:atomic, :ok} |
  {:aborted, any}
delete(id, opaque, table, key, lock)
delete(id, any, atom, atom, lock_kind) :: :ok | no_return
delete_object(id, opaque, table, record, lock)
delete_object(id, any, atom, tuple, lock_kind) ::
  :ok |
  no_return
first(id, opaque, table)
first(id, any, atom) :: any
foldl(id, opaque, fun, acc, table, lock)
foldl(id, any, function, any, atom, lock_kind) ::
  any |
  no_return
foldr(id, opaque, fun, acc, table, lock)
foldr(id, any, function, any, atom, lock_kind) ::
  any |
  no_return
index_match_object(id, opaque, table, pattern, attribute, lock)
index_match_object(id, any, atom, any, atom | integer, lock_kind) ::
  [any] |
  no_return
index_read(id, opaque, table, key, attribute, lock)
index_read(id, any, atom, any, atom | integer, lock_kind) ::
  [tuple] |
  no_return
last(id, opaque, table)
last(id, any, atom) :: any
lock(id, opaque, item, kind)
lock(id, any, lock_item, lock_kind) ::
  [node] |
  :ok |
  no_return
match_object(id, opaque, table, pattern, lock)
match_object(id, any, atom, any, lock_kind) ::
  [tuple] |
  no_return
next(id, opaque, table, key)
next(id, any, atom, any) :: any
prev(id, opaque, table, key)
prev(id, any, atom, any) :: any
read(id, opaque, table, key, lock)
read(id, any, atom, any, lock_kind) ::
  [tuple] |
  no_return
select(id, opaque, table, spec, lock)
select(id, any, atom, any, lock_kind) :: [any]
select(id, opaque, table, spec, limit, lock)
select(id, any, atom, any, integer, lock_kind) :: [any]
select_cont(id, opaque, cont)
select_cont(id, any, any) :: :"$end_of_table" | {[any], any}
table_info(id, opaque, of, key)
table_info(id, any, atom | {atom, atom}, atom) :: any
write(id, opaque, table, record, lock)
write(id, any, atom, tuple, lock_kind) :: :ok | no_return

Callbacks

all_keys(id, any, atom, lock_kind)
all_keys(id, any, atom, lock_kind) :: [any] | no_return
clear_table(id, any, atom, any)
clear_table(id, any, atom, any) ::
  {:atomic, :ok} |
  {:aborted, any}
delete(id, any, atom, any, lock_kind)
delete(id, any, atom, any, lock_kind) :: :ok | no_return
delete_object(id, any, atom, tuple, lock_kind)
delete_object(id, any, atom, tuple, lock_kind) ::
  :ok |
  no_return
first(id, any, atom)
first(id, any, atom) :: any
foldl(id, any, list, any, atom, lock_kind)
foldl(id, any, (tuple, any -> any), any, atom, lock_kind) ::
  any |
  no_return
foldr(id, any, list, any, atom, lock_kind)
foldr(id, any, (tuple, any -> any), any, atom, lock_kind) ::
  any |
  no_return
index_match_object(id, any, atom, any, arg4, lock_kind)
index_match_object(id, any, atom, any, atom | integer, lock_kind) ::
  [any] |
  no_return
index_read(id, any, atom, any, arg4, lock_kind)
index_read(id, any, atom, any, atom | integer, lock_kind) ::
  [tuple] |
  no_return
last(id, any, atom)
last(id, any, atom) :: any
lock(id, any, lock_item, lock_kind)
lock(id, any, lock_item, lock_kind) ::
  [node] |
  :ok |
  no_return
match_object(id, any, atom, any, lock_kind)
match_object(id, any, atom, any, lock_kind) ::
  [any] |
  no_return
next(id, any, atom, any)
next(id, any, atom, any) :: any
prev(id, any, atom, any)
prev(id, any, atom, any) :: any
read(id, any, atom, any, lock_kind)
read(id, any, atom, any, lock_kind) ::
  [tuple] |
  no_return
select(id, any, atom, any, lock_kind)
select(id, any, atom, any, lock_kind) :: [any]
select(id, any, atom, any, integer, lock_kind)
select(id, any, atom, any, integer, lock_kind) :: [any]
select_cont(id, any, any)
select_cont(id, any, any) :: :"$end_of_table" | {[any], any}
table_info(id, any, arg2, atom)
table_info(id, any, atom | {atom, atom}, atom) :: any
write(id, any, atom, tuple, lock_kind)
write(id, any, atom, tuple, lock_kind) :: :ok | no_return