View Source Memento (memento v0.4.1)

Simple + Powerful interface to the Erlang Mnesia Database.

See the README to get started.

Summary

Functions

Tells Memento about other nodes running Memento/Mnesia.

Prints :mnesia information to console.

Start the Memento Application.

Stop the Memento Application.

Returns all information about the Mnesia system.

Functions

@spec add_nodes(node() | [node()]) :: {:ok, [node()]} | {:error, any()}

Tells Memento about other nodes running Memento/Mnesia.

You can use this to connect to and synchronize with other nodes at runtime and/or on discovery, to take full advantage of the distribution mode of Memento and Mnesia.

This is a wrapper method around :mnesia.change_config/2.

Example

# Connect to Memento running on a specific node
Memento.add_nodes(:node_xyz@some_host)

# Add all connected nodes to Memento distributed database
Memento.add_nodes(Node.list())
@spec info() :: :ok

Prints :mnesia information to console.

@spec start() :: :ok | {:error, any()}

Start the Memento Application.

This starts Memento and :mnesia along with some sane application defaults. See :mnesia.start/0 for more details.

@spec stop() :: :ok | {:error, any()}

Stop the Memento Application.

@spec system(atom()) :: any()

Returns all information about the Mnesia system.

Optionally accepts a key atom argument which returns result for only that key. Will throw an exception if that key is invalid. See :mnesia.system_info/0 for more information and a full list of allowed keys.

See Memento.Transaction.execute/1.

See Memento.Transaction.execute!/1.

See Memento.Table.wait/1.

See Memento.Table.wait/2.