aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/src/mnesia_lib.erl
AgeCommit message (Collapse)Author
2016-11-11Don't wrap continuations from mnesia_ext backendsRichard Carlsson
Continuations returned from mnesia_ext backends were originally wrapped with the backend module, but that was a remnant of the earliest implementation, and is not actually needed, since Mnesia already knows what the table storage type is when it applies the continuation. When mnesia_ext was ported to OTP 19, the wrapper got changed to use the table type alias instead of the module, which triggered an error in the mnesia_eleveldb backend. This patch removes the wrapping completely.
2016-05-09mnesia_ext: Add ext copies and db_fold to low level apiUlf Wiger
2016-05-09mnesia_ext: Refactor record_validation codeUlf Wiger
Should maybe be moved to mnesia.erl and inlined?? Or is it used elsewhere?
2016-02-22Merge branch 'maint'Hans Bolinder
* maint: Fix a few dialyzer warnings
2016-02-22Fix a few dialyzer warningsHans Bolinder
2015-12-11Use 'rand' instead of the obsolete 'random' moduleBjörn Gustavsson
In most cases, we don't have to seed the random number generator, as the rand:uniform/1 takes care about that itself.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-06mnesia: dirty error messages did not behave as documentedDan Gudmundsson
The docs express that exit({aborted, Reason}) are called when an error occur.
2015-03-27Merge branch 'dgud/mnesia/try-catch'Dan Gudmundsson
* dgud/mnesia/try-catch: mnesia: Replace catch with try-catch
2015-03-27mnesia: Replace catch with try-catchDan Gudmundsson
Avoids building stacktraces where it is not needed and do not mask errors, i.e. only catch the relevant classes in each try.
2015-03-20Replace usage of erlang:now() with usage of new APIDan Gudmundsson
2015-03-20Replace usage of erlang:now() with usage of new APIRickard Green
2014-03-28mnesia: Dialyzer fixesDan Gudmundsson
2014-02-20mnesia: cleanup some dialyzer unmatched return warningsDan Gudmundsson
2014-02-20mnesia: Improve mnesia coredump infoDan Gudmundsson
Add stacktrace of mnesia processes.
2011-09-21Merge branch 'dev' into majorDan Gudmundsson
2011-09-19[mnesia] Use dedicated api for clearing tablesDan Gudmundsson
Mainly to correctly clear dets tables. It may also be faster to use the dedicated functions.
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-05-16Write locks now check majority when needed.Ulf Wiger
Since the table loader also sets (table) write locks, a special lock type, 'load', was needed. Unfortunately, this affects mnesia activity callbacks that redefine the lock operation.
2011-03-02Remove wrong specDan Gudmundsson
2011-03-02Mnesia dialyzer fixesDan Gudmundsson
With help from Kostis
2010-06-04Merge branch 'uw/mnesia-overload' into devErlang/OTP
* uw/mnesia-overload: Enable continuous monitoring of mnesia overload status
2010-05-09Enable continuous monitoring of mnesia overload statusUlf Wiger
Mnesia currently issues an event whenever it detects an overload condition. It recognizes two different types of overload: - whenever the message queue of mnesia_tm process grows large - when a log dump interval triggers before the previous dump is done These events could be used to trigger a load regulation mechanism to reduce the load until the condition seizes. The missing piece is that there is no facility to ask mnesia whether the overload condition still exists. This patch implements a couple of functions in mnesia_lib that can be used to sample the overload status. It has been tested in a load regulator component being developed by Erlang Solutions. No mnesia test suites have been run, since they are not available. No documentation has been updated. The functions in mnesia_lib are at any rate undocumented (as are all other functions in that module). A decision would have to be made about whether to provide a documented API on top of these functions. The internal state record of mnesia_recover has been modified. For this reason, a code change hook has been provided.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP