aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/src/mnesia_dumper.erl
AgeCommit message (Collapse)Author
2019-02-25Merge branch 'maint'Dan Gudmundsson
* maint: mnesia: Avoid raise in overload reports
2019-02-22mnesia: Avoid raise in overload reportsDan Gudmundsson
Several processes could invoke adjust_log_writes, which could cause overload reports.
2019-01-22Optimise ext table dumpingDániel Szoboszlay
The original algorithm first grouped ops in a commit by ext engine type via folding over the list with orddict:append/3, that resulted in an O(n^2) algorithm. However, grouping the ops is not needed, the ops can be dispatched to insert_op/6 one-by-one, after looking up the storage semantics of their respective engine. This is a much cheaper algorithm, assuming looking up the storage semantics is cheap (which should be).
2018-06-18Update copyright yearHenrik Nord
2018-02-06mnesia: Do not call erlang:get_stacktrace() (cont)Hans Bolinder
Take care of the call of erlang:get_stacktrace() in module mnesia_lib.
2018-02-06mnesia: Do not call erlang:get_stacktrace()Hans Bolinder
The remaining call (in module mnesia_lib) is taken care of in the following commit.
2017-09-05mnesia: Improve handling of UnicodeHans Bolinder
2016-05-09Merge branch 'dgud/mnesia/ext-backend/PR-858/OTP-13058'Dan Gudmundsson
* dgud/mnesia/ext-backend/PR-858/OTP-13058: mnesia_ext: Add basic backend extension tests mnesia_ext: reuse snmp field for ext updates mnesia_ext: Create table/data containers from mnesia monitor not temporary processes mnesia_ext: Implement ext copies index mnesia_ext: Load table ext mnesia_ext: Dumper and schema changes mnesia_ext: Refactor mnesia_schema.erl mnesia_ext: Ext support in fragmented tables mnesia_ext: Backup handling mnesia_ext: Create schema functionality mnesia_ext: Add ext copies and db_fold to low level api mnesia_ext: Refactor record_validation code mnesia_ext: Add create_external and increase protocol version to monitor mnesia_ext: Add ext copies to records mnesia_ext: Add supervisor and behaviour modules
2016-05-09mnesia_ext: reuse snmp field for ext updatesDan Gudmundsson
Minimal impact when talking to older nodes.
2016-05-09mnesia_ext: Create table/data containers from mnesia monitor not temporary ↵Dan Gudmundsson
processes Tables or data containers should be owned and monitored by mnesia_monitor and should thus be created by that process. Always create_table before loading it We need to create tables for ram_copies at least before loading them as they are intermittent. It is also needed to get mnesia monitor as the parent and supervisor of the data storage.
2016-05-09mnesia_ext: Dumper and schema changesUlf Wiger
2016-03-15update copyright-yearHenrik Nord
2015-06-18Change license text to APLv2Bruce Yinhe
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.
2014-12-22Make Mnesia DCD dump behaviour available via APIUlf Wiger
If a DCD dump is desired on-demand, use the function mnesia_controller:snapshot_dcd(Tables). Tables must be a list of tables that have a local disc_copy, otherwise an error will be returned. Once the operation actually executes, any table that doesn't have a local disc_copy is ignored. Specifically, the dump_log worker record has been changed to allow an arity-0 fun instead of the default log dump. This fun will be executed as if it were a normal log dump, and must return 'dumped'. This could also be used to e.g. insert a backup operation between log dumps.
2014-12-22Make Mnesia DCD dump behaviour available via configurationUlf Wiger
Setting the new Mnesia parameter 'dump_disc_copies_at_startup' to 'false' will completely disable the DCD dumping while tables are being loaded. If it is set to 'true' (the default), the same test will now be performed as for normal dumps, i.e., using the 'dc_dump_limit' parameter. Previously, the test performed at load time was different from the one used at runtime, and caused a lot of unnecessary dumping which slowed down the startup.
2014-02-20mnesia: cleanup some dialyzer unmatched return warningsDan Gudmundsson
2011-12-09Merge branch 'dgud/mnesia/read-sticky-bug/OTP-9786'Dan Gudmundsson
* dgud/mnesia/read-sticky-bug/OTP-9786: [mnesia] Read record from correct node [mnesia] Fixed sticky read lock bug [mnesia] Whitespace fixes Conflicts: lib/mnesia/src/mnesia_log.erl
2011-12-06[mnesia] Whitespace fixesDan Gudmundsson
2011-11-28[mnesia] Add possibility for implementation dependent storage options to ↵Dan Gudmundsson
create_table
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-09-15[mnesia] Fixed bug in aborted schema transactionsDan Gudmundsson
2011-05-17Merge branch 'uw/mnesia-majority' into devHenrik Nord
* uw/mnesia-majority: dialyzer warning on mnesia_tm Add documentation text about majority checking add mnesia_majority_test suite where_to_wlock optimization + change_table_majority/2 bug in mnesia_tm:needs_majority/2 optimize sticky_lock maj. check check majority for sticky locks Write locks now check majority when needed. Add {majority, boolean()} per-table option. OTP-9304
2011-05-16where_to_wlock optimization + change_table_majority/2Ulf Wiger
2011-05-11Fix mnesia crash when adding index on non loaded tables.Dan Gudmundsson
This could happen on ram_copies tables.
2010-11-29Created wrong header in dcd files when creating files at startup.Dan Gudmundsson
That caused a 'log_header' entry to added to the disc_copies tables.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP