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 + -
显示快捷键?