mnesia_registry

Dump support for registries in erl_interface.

The module mnesia_registry is usually part of
erl_interface, but for the time being, it is a part of the
Mnesia application.

mnesia_registry is mainly an module intended for
internal usage within OTP, but it has two functions that
are exported for public use.

On C-nodes erl_interface has support for registry
tables. These reside in RAM on the C-node but they may also be
dumped into Mnesia tables. By default, the dumping of registry
tables via erl_interface causes a corresponding Mnesia
table to be created with mnesia_registry:create_table/1
if necessary.

The tables that are created with these functions can be
administered as all other Mnesia tables. They may be included in
backups or replicas may be added etc. The tables are in fact
normal Mnesia tables owned by the user of the corresponding
erl_interface registries.

create_table(Tab) -> ok | exit(Reason)

This is a wrapper function for
mnesia:create_table/2 which creates a table (if there is no existing table)
with an appropriate set of attributes. The table will
only reside on the local node and its storage type will be
the same as the schema table on the local
node, ie. {ram_copies,[node()]} or
{disc_copies,[node()]}.

It is this function that is used by erl_interface to
create the Mnesia table if it did not already exist.

create_table(Tab, TabDef) -> ok | exit(Reason)

This is a wrapper function for
mnesia:create_table/2 which creates a table (if there is no existing table)
with an appropriate set of attributes. The attributes
and TabDef are forwarded to
mnesia:create_table/2. For example, if the table should
reside as disc_only_copies on all nodes a call would
look like: