<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- mnesia_registry</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/mnesia-4.7.1.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Mnesia</strong><br><strong>Reference Manual</strong><br><small>Version 4.7.1</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p> <ul class="flipMenu"> <li id="no" title="mnesia " expanded="false">mnesia<ul> <li><a href="mnesia.html"> Top of manual page </a></li> <li title="abort-1"><a href="mnesia.html#abort-1">abort/1</a></li> <li title="activate_checkpoint-1"><a href="mnesia.html#activate_checkpoint-1">activate_checkpoint/1</a></li> <li title="activity-2"><a href="mnesia.html#activity-2">activity/2</a></li> <li title="activity-4"><a href="mnesia.html#activity-4">activity/4</a></li> <li title="add_table_copy-3"><a href="mnesia.html#add_table_copy-3">add_table_copy/3</a></li> <li title="add_table_index-2"><a href="mnesia.html#add_table_index-2">add_table_index/2</a></li> <li title="all_keys-1"><a href="mnesia.html#all_keys-1">all_keys/1</a></li> <li title="async_dirty-2"><a href="mnesia.html#async_dirty-2">async_dirty/2</a></li> <li title="backup-1"><a href="mnesia.html#backup-1">backup/1</a></li> <li title="backup_checkpoint-2"><a href="mnesia.html#backup_checkpoint-2">backup_checkpoint/2</a></li> <li title="change_config-2"><a href="mnesia.html#change_config-2">change_config/2</a></li> <li title="change_table_access_mode-2"><a href="mnesia.html#change_table_access_mode-2">change_table_access_mode/2</a></li> <li title="change_table_copy_type-3"><a href="mnesia.html#change_table_copy_type-3">change_table_copy_type/3</a></li> <li title="change_table_load_order-2"><a href="mnesia.html#change_table_load_order-2">change_table_load_order/2</a></li> <li title="change_table_majority-2"><a href="mnesia.html#change_table_majority-2">change_table_majority/2</a></li> <li title="clear_table-1"><a href="mnesia.html#clear_table-1">clear_table/1</a></li> <li title="create_schema-1"><a href="mnesia.html#create_schema-1">create_schema/1</a></li> <li title="create_table-2"><a href="mnesia.html#create_table-2">create_table/2</a></li> <li title="deactivate_checkpoint-1"><a href="mnesia.html#deactivate_checkpoint-1">deactivate_checkpoint/1</a></li> <li title="del_table_copy-2"><a href="mnesia.html#del_table_copy-2">del_table_copy/2</a></li> <li title="del_table_index-2"><a href="mnesia.html#del_table_index-2">del_table_index/2</a></li> <li title="delete-1"><a href="mnesia.html#delete-1">delete/1</a></li> <li title="delete-3"><a href="mnesia.html#delete-3">delete/3</a></li> <li title="delete_object-1"><a href="mnesia.html#delete_object-1">delete_object/1</a></li> <li title="delete_object-3"><a href="mnesia.html#delete_object-3">delete_object/3</a></li> <li title="delete_schema-1"><a href="mnesia.html#delete_schema-1">delete_schema/1</a></li> <li title="delete_table-1"><a href="mnesia.html#delete_table-1">delete_table/1</a></li> <li title="dirty_all_keys-1"><a href="mnesia.html#dirty_all_keys-1">dirty_all_keys/1</a></li> <li title="dirty_delete-1"><a href="mnesia.html#dirty_delete-1">dirty_delete/1</a></li> <li title="dirty_delete-2"><a href="mnesia.html#dirty_delete-2">dirty_delete/2</a></li> <li title="dirty_delete_object-1"><a href="mnesia.html#dirty_delete_object-1">dirty_delete_object/1</a></li> <li title="dirty_delete_object-2"><a href="mnesia.html#dirty_delete_object-2">dirty_delete_object/2</a></li> <li title="dirty_first-1"><a href="mnesia.html#dirty_first-1">dirty_first/1</a></li> <li title="dirty_index_match_object-2"><a href="mnesia.html#dirty_index_match_object-2">dirty_index_match_object/2</a></li> <li title="dirty_index_match_object-3"><a href="mnesia.html#dirty_index_match_object-3">dirty_index_match_object/3</a></li> <li title="dirty_index_read-3"><a href="mnesia.html#dirty_index_read-3">dirty_index_read/3</a></li> <li title="dirty_last-1"><a href="mnesia.html#dirty_last-1">dirty_last/1</a></li> <li title="dirty_match_object-1"><a href="mnesia.html#dirty_match_object-1">dirty_match_object/1</a></li> <li title="dirty_match_object-2"><a href="mnesia.html#dirty_match_object-2">dirty_match_object/2</a></li> <li title="dirty_next-2"><a href="mnesia.html#dirty_next-2">dirty_next/2</a></li> <li title="dirty_prev-2"><a href="mnesia.html#dirty_prev-2">dirty_prev/2</a></li> <li title="dirty_read-1"><a href="mnesia.html#dirty_read-1">dirty_read/1</a></li> <li title="dirty_read-2"><a href="mnesia.html#dirty_read-2">dirty_read/2</a></li> <li title="dirty_select-2"><a href="mnesia.html#dirty_select-2">dirty_select/2</a></li> <li title="dirty_slot-2"><a href="mnesia.html#dirty_slot-2">dirty_slot/2</a></li> <li title="dirty_update_counter-2"><a href="mnesia.html#dirty_update_counter-2">dirty_update_counter/2</a></li> <li title="dirty_update_counter-3"><a href="mnesia.html#dirty_update_counter-3">dirty_update_counter/3</a></li> <li title="dirty_write-1"><a href="mnesia.html#dirty_write-1">dirty_write/1</a></li> <li title="dirty_write-2"><a href="mnesia.html#dirty_write-2">dirty_write/2</a></li> <li title="dump_log-0"><a href="mnesia.html#dump_log-0">dump_log/0</a></li> <li title="dump_tables-1"><a href="mnesia.html#dump_tables-1">dump_tables/1</a></li> <li title="dump_to_textfile-1"><a href="mnesia.html#dump_to_textfile-1">dump_to_textfile/1</a></li> <li title="error_description-1"><a href="mnesia.html#error_description-1">error_description/1</a></li> <li title="ets-2"><a href="mnesia.html#ets-2">ets/2</a></li> <li title="first-1"><a href="mnesia.html#first-1">first/1</a></li> <li title="foldl-3"><a href="mnesia.html#foldl-3">foldl/3</a></li> <li title="foldr-3"><a href="mnesia.html#foldr-3">foldr/3</a></li> <li title="force_load_table-1"><a href="mnesia.html#force_load_table-1">force_load_table/1</a></li> <li title="index_match_object-2"><a href="mnesia.html#index_match_object-2">index_match_object/2</a></li> <li title="index_match_object-4"><a href="mnesia.html#index_match_object-4">index_match_object/4</a></li> <li title="index_read-3"><a href="mnesia.html#index_read-3">index_read/3</a></li> <li title="info-0"><a href="mnesia.html#info-0">info/0</a></li> <li title="install_fallback-1"><a href="mnesia.html#install_fallback-1">install_fallback/1</a></li> <li title="install_fallback-1"><a href="mnesia.html#install_fallback-1">install_fallback/1</a></li> <li title="install_fallback-2"><a href="mnesia.html#install_fallback-2">install_fallback/2</a></li> <li title="is_transaction-0"><a href="mnesia.html#is_transaction-0">is_transaction/0</a></li> <li title="last-1"><a href="mnesia.html#last-1">last/1</a></li> <li title="load_textfile-1"><a href="mnesia.html#load_textfile-1">load_textfile/1</a></li> <li title="lock-2"><a href="mnesia.html#lock-2">lock/2</a></li> <li title="match_object-1"><a href="mnesia.html#match_object-1">match_object/1</a></li> <li title="match_object-3"><a href="mnesia.html#match_object-3">match_object/3</a></li> <li title="move_table_copy-3"><a href="mnesia.html#move_table_copy-3">move_table_copy/3</a></li> <li title="next-2"><a href="mnesia.html#next-2">next/2</a></li> <li title="prev-2"><a href="mnesia.html#prev-2">prev/2</a></li> <li title="read-1"><a href="mnesia.html#read-1">read/1</a></li> <li title="read-2"><a href="mnesia.html#read-2">read/2</a></li> <li title="read-3"><a href="mnesia.html#read-3">read/3</a></li> <li title="read_lock_table-1"><a href="mnesia.html#read_lock_table-1">read_lock_table/1</a></li> <li title="report_event-1"><a href="mnesia.html#report_event-1">report_event/1</a></li> <li title="restore-2"><a href="mnesia.html#restore-2">restore/2</a></li> <li title="s_delete-1"><a href="mnesia.html#s_delete-1">s_delete/1</a></li> <li title="s_delete_object-1"><a href="mnesia.html#s_delete_object-1">s_delete_object/1</a></li> <li title="s_write-1"><a href="mnesia.html#s_write-1">s_write/1</a></li> <li title="schema-0"><a href="mnesia.html#schema-0">schema/0</a></li> <li title="schema-1"><a href="mnesia.html#schema-1">schema/1</a></li> <li title="select-2"><a href="mnesia.html#select-2">select/2</a></li> <li title="select-4"><a href="mnesia.html#select-4">select/4</a></li> <li title="select-1"><a href="mnesia.html#select-1">select/1</a></li> <li title="set_debug_level-1"><a href="mnesia.html#set_debug_level-1">set_debug_level/1</a></li> <li title="set_master_nodes-1"><a href="mnesia.html#set_master_nodes-1">set_master_nodes/1</a></li> <li title="set_master_nodes-2"><a href="mnesia.html#set_master_nodes-2">set_master_nodes/2</a></li> <li title="snmp_close_table-1"><a href="mnesia.html#snmp_close_table-1">snmp_close_table/1</a></li> <li title="snmp_get_mnesia_key-2"><a href="mnesia.html#snmp_get_mnesia_key-2">snmp_get_mnesia_key/2</a></li> <li title="snmp_get_next_index-2"><a href="mnesia.html#snmp_get_next_index-2">snmp_get_next_index/2</a></li> <li title="snmp_get_row-2"><a href="mnesia.html#snmp_get_row-2">snmp_get_row/2</a></li> <li title="snmp_open_table-2"><a href="mnesia.html#snmp_open_table-2">snmp_open_table/2</a></li> <li title="start-0"><a href="mnesia.html#start-0">start/0</a></li> <li title="stop-0"><a href="mnesia.html#stop-0">stop/0</a></li> <li title="subscribe-1"><a href="mnesia.html#subscribe-1">subscribe/1</a></li> <li title="sync_dirty-2"><a href="mnesia.html#sync_dirty-2">sync_dirty/2</a></li> <li title="sync_transaction-3"><a href="mnesia.html#sync_transaction-3">sync_transaction/3</a></li> <li title="system_info-1"><a href="mnesia.html#system_info-1">system_info/1</a></li> <li title="table-1"><a href="mnesia.html#table-1">table/1</a></li> <li title="table_info-2"><a href="mnesia.html#table_info-2">table_info/2</a></li> <li title="transaction-2"><a href="mnesia.html#transaction-2">transaction/2</a></li> <li title="transform_table-4"><a href="mnesia.html#transform_table-4">transform_table/4</a></li> <li title="transform_table-3"><a href="mnesia.html#transform_table-3">transform_table/3</a></li> <li title="traverse_backup-4"><a href="mnesia.html#traverse_backup-4">traverse_backup/4</a></li> <li title="uninstall_fallback-0"><a href="mnesia.html#uninstall_fallback-0">uninstall_fallback/0</a></li> <li title="uninstall_fallback-1"><a href="mnesia.html#uninstall_fallback-1">uninstall_fallback/1</a></li> <li title="unsubscribe-1"><a href="mnesia.html#unsubscribe-1">unsubscribe/1</a></li> <li title="wait_for_tables-2"><a href="mnesia.html#wait_for_tables-2">wait_for_tables/2</a></li> <li title="wread-1"><a href="mnesia.html#wread-1">wread/1</a></li> <li title="write-1"><a href="mnesia.html#write-1">write/1</a></li> <li title="write-3"><a href="mnesia.html#write-3">write/3</a></li> <li title="write_lock_table-1"><a href="mnesia.html#write_lock_table-1">write_lock_table/1</a></li> </ul> </li> <li id="no" title="mnesia_frag_hash " expanded="false">mnesia_frag_hash<ul> <li><a href="mnesia_frag_hash.html"> Top of manual page </a></li> <li title="init_state-2"><a href="mnesia_frag_hash.html#init_state-2">init_state/2</a></li> <li title="add_frag-1"><a href="mnesia_frag_hash.html#add_frag-1">add_frag/1</a></li> <li title="del_frag-1"><a href="mnesia_frag_hash.html#del_frag-1">del_frag/1</a></li> <li title="key_to_frag_number-2"><a href="mnesia_frag_hash.html#key_to_frag_number-2">key_to_frag_number/2</a></li> <li title="match_spec_to_frag_numbers-2"><a href="mnesia_frag_hash.html#match_spec_to_frag_numbers-2">match_spec_to_frag_numbers/2</a></li> </ul> </li> <li id="loadscrollpos" title="mnesia_registry " expanded="true">mnesia_registry<ul> <li><a href="mnesia_registry.html"> Top of manual page </a></li> <li title="create_table-1"><a href="mnesia_registry.html#create_table-1">create_table/1</a></li> <li title="create_table-2"><a href="mnesia_registry.html#create_table-2">create_table/2</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>mnesia_registry</h1></center> <h3>MODULE</h3> <div class="REFBODY">mnesia_registry</div> <h3>MODULE SUMMARY</h3> <div class="REFBODY">Dump support for registries in erl_interface. </div> <h3>DESCRIPTION</h3> <div class="REFBODY"><p> <p>The module <span class="code">mnesia_registry</span> is usually part of <span class="code">erl_interface</span>, but for the time being, it is a part of the Mnesia application. </p> <p><span class="code">mnesia_registry</span> is mainly an module intended for internal usage within OTP, but it has two functions that are exported for public use. </p> <p>On C-nodes <span class="code">erl_interface</span> 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 <span class="code">erl_interface</span> causes a corresponding Mnesia table to be created with <span class="code">mnesia_registry:create_table/1</span> if necessary. </p> <p>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 <span class="code">erl_interface</span> registries. </p> </p></div> <h3>EXPORTS</h3> <p><a name="create_table-1"><span class="bold_code">create_table(Tab) -> ok | exit(Reason)</span></a><br></p> <div class="REFBODY"><p> <p>This is a wrapper function for <span class="code">mnesia:create_table/2</span> which creates a table (if there is no existing table) with an appropriate set of <span class="code">attributes</span>. The table will only reside on the local node and its storage type will be the same as the <span class="code">schema</span> table on the local node, ie. <span class="code">{ram_copies,[node()]}</span> or <span class="code">{disc_copies,[node()]}</span>. </p> <p>It is this function that is used by <span class="code">erl_interface</span> to create the Mnesia table if it did not already exist.</p> </p></div> <p><a name="create_table-2"><span class="bold_code">create_table(Tab, TabDef) -> ok | exit(Reason)</span></a><br></p> <div class="REFBODY"><p> <p>This is a wrapper function for <span class="code">mnesia:create_table/2</span> which creates a table (if there is no existing table) with an appropriate set of <span class="code">attributes</span>. The attributes and <span class="code">TabDef</span> are forwarded to <span class="code">mnesia:create_table/2</span>. For example, if the table should reside as <span class="code">disc_only_copies</span> on all nodes a call would look like:</p> <div class="example"><pre> TabDef = [{{disc_only_copies, node()|nodes()]}], mnesia_registry:create_table(my_reg, TabDef) </pre></div> </p></div> <h3><a name="id87080">See Also</a></h3> <div class="REFBODY"> <p>mnesia(3), erl_interface(3) </p> </div> </div> <div class="footer"> <hr> <p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>