mnesia.hrl
来自「OTP是开放电信平台的简称」· HRL 代码 · 共 119 行
HRL
119 行
%% ``The contents of this file are subject to the Erlang Public License,%% Version 1.1, (the "License"); you may not use this file except in%% compliance with the License. You should have received a copy of the%% Erlang Public License along with this software. If not, it can be%% retrieved via the world wide web at http://www.erlang.org/.%% %% Software distributed under the License is distributed on an "AS IS"%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See%% the License for the specific language governing rights and limitations%% under the License.%% %% The Initial Developer of the Original Code is Ericsson Utvecklings AB.%% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings%% AB. All Rights Reserved.''%% %% $Id$%%-define(APPLICATION, mnesia).-define(ets_lookup(Tab, Key), ets:lookup(Tab, Key)).-define(ets_lookup_element(Tab, Key, Pos), ets:lookup_element(Tab, Key, Pos)).-define(ets_insert(Tab, Rec), ets:insert(Tab, Rec)).-define(ets_delete(Tab, Key), ets:delete(Tab, Key)).-define(ets_match_delete(Tab, Pat), ets:match_delete(Tab, Pat)).-define(ets_match_object(Tab, Pat), ets:match_object(Tab, Pat)).-define(ets_match(Tab, Pat), ets:match(Tab, Pat)).-define(ets_info(Tab, Item), ets:info(Tab, Item)).-define(ets_update_counter(Tab, Key, Incr), ets:update_counter(Tab, Key, Incr)).-define(ets_first(Tab), ets:first(Tab)).-define(ets_next(Tab, Key), ets:next(Tab, Key)).-define(ets_last(Tab), ets:last(Tab)).-define(ets_prev(Tab, Key), ets:prev(Tab, Key)).-define(ets_slot(Tab, Pos), ets:slot(Tab, Pos)).-define(ets_new_table(Tab, Props), ets:new(Tab, Props)).-define(ets_delete_table(Tab), ets:delete(Tab)).-define(ets_fixtable(Tab, Bool), ets:fixtable(Tab, Bool)).-define(catch_val(Var), (catch ?ets_lookup_element(mnesia_gvar, Var, 2))).%% It's important that counter is first, since we compare tid's-record(tid, {counter, %% serial no for tid pid}). %% owner of tid-record(tidstore, {store, %% current ets table for tid up_stores = [], %% list of upper layer stores for nested trans level = 1}). %% transaction level-define(unique_cookie, {erlang:now(), node()}).-record(cstruct, {name, % Atom type = set, % set | bag ram_copies = [], % [Node] disc_copies = [], % [Node] disc_only_copies = [], % [Node] load_order = 0, % Integer access_mode = read_write, % read_write | read_only index = [], % [Integer] snmp = [], % Snmp Ustruct local_content = false, % true | false record_name = {bad_record_name}, % Atom (Default = Name) attributes = [key, val], % [Atom] user_properties = [], % [Record] frag_properties = [], % [{Key, Val] cookie = ?unique_cookie, % Term version = {{2, 0}, []}}). % {{Integer, Integer}, [Node]}%% Record for the head structure in Mnesia's log files%% %% The definition of this record may *NEVER* be changed%% since it may be written to very old backup files.%% By holding this record definition stable we can be%% able to comprahend backups from timepoint 0. It also%% allows us to use the backup format as an interchange%% format between Mnesia releases.-record(log_header,{log_kind, log_version, mnesia_version, node, now}).%% Commit records stored in the transaction log-record(commit, {node, decision, % presume_commit | Decision ram_copies = [], disc_copies = [], disc_only_copies = [], snmp = [], schema_ops = [] }).-record(decision, {tid, outcome, % presume_abort | committed disc_nodes, ram_nodes}).%% Maybe cyclic wait-record(cyclic, {node = node(), oid, % {Tab, Key} op, % read | write lock, % read | write lucky }).%% Managing conditional debug functions-ifdef(debug). -define(eval_debug_fun(I, C), mnesia_lib:eval_debug_fun(I, C, ?FILE, ?LINE)).-else. -define(eval_debug_fun(I, C), ok).-endif.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?