aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/src
AgeCommit message (Collapse)Author
2017-12-04Merge branch 'dgud/mnesia/backup-error-handling/OTP-14776' into maintDan Gudmundsson
* dgud/mnesia/backup-error-handling/OTP-14776: mnesia: Fix error handling in abort write
2017-11-27Fix type create_option() in mnesiaAndras Boroska
The create_option() type in mnesia lacks the user_properties field which is used by mnesia in various places.
2017-11-14mnesia: Fix error handling in abort writeDan Gudmundsson
The "root cause" error reason was lost when abort_write failed, e.g. file was already closed, and Mod:abort_write(..) returned an error.
2017-09-19Update runtime deps to depend on new stdlib functionalityDan Gudmundsson
~tw and new string functions are new since OTP-20 (stdlib-3.4)
2017-09-05mnesia: Improve handling of UnicodeHans Bolinder
2017-06-14Update copyright yearHans Nilsson
2017-05-31mnesia: Print tables with ~ts to support unicode atomsDan Gudmundsson
2017-05-22mnesia: Correct a type declarationHans Bolinder
2017-05-04Update copyright yearRaimo Niskanen
2017-05-02mnesia: Remove not used mnesia_snmp_supDan Gudmundsson
It is not used anymore, snmp indecies are now ets tables and not processes.
2017-05-02Do not call which_applications()Dan Gudmundsson
Which may hang if an application start does wait for tables during initilization.
2017-02-14Fixed typos in lib/mnesiaAndrew Dryga
2017-02-01Merge branch 'maint'Dan Gudmundsson
* maint: Updated OTP version Prepare release Fixed crash when a table was deleted during checkpoint traversal
2017-01-30Fixed crash when a table was deleted during checkpoint traversalDan Gudmundsson
Set fixtable false will fail on deleted tables, catch that and also report checkpoint deactivate error, so user can see why checkpoint was deactivated and backup fails.
2017-01-25mnesia: Remove mnesia_frag_old_hash hash moduleBjörn-Egil Dahlberg
The module mnesia_frag_old_hash utilized the broken erlang:hash/2 function which has been deprecated for a long time. Since erlang:hash/2 is now removed there is no point in having this module any more.
2016-12-05Merge branch 'maint'Dan Gudmundsson
* maint: Use off_heap memory queue for mnesia_tm Preserve key order in mnesia:table_info
2016-12-05Merge branch 'richcarl/mnesia/table_info_order' into maintDan Gudmundsson
* richcarl/mnesia/table_info_order: Preserve key order in mnesia:table_info
2016-11-28Use off_heap memory queue for mnesia_tmDan Gudmundsson
Helps when mnesia_tm gets drowned in dirty_writes from remote node.
2016-11-18Preserve key order in mnesia:table_infoRichard Carlsson
2016-11-17Merge branch 'dgud/mnesia/type-specs'Dan Gudmundsson
* dgud/mnesia/type-specs: Add basic spec and types
2016-11-17Add basic spec and typesDan Gudmundsson
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-10-29Make a separate application module for MnesiaRichard Carlsson
To separate concerns and reduce confusion, avoid implementing two behaviours in a single module. Make a single start_link() helper in mnesia_sup and remove the unused mnesia_sup:start() utility function.
2016-10-24Merge branch 'dgud/mnesia/fix-blocked/OTP-13970' into maintDan Gudmundsson
* dgud/mnesia/fix-blocked/OTP-13970: Avoid some error reports when stopping mnesia mnesia: Fix double blocked tables which could cause a crash
2016-10-17Avoid some error reports when stopping mnesiaDan Gudmundsson
Worker processes can cause error reports if the main mnesia processes dissapear.
2016-10-11mnesia: Fix double blocked tables which could cause a crashDan Gudmundsson
Fast restarts could cause table to be blocked twice.
2016-10-06Allow reusing mnesia select continuationsDániel Szoboszlay
A continuation returned by mnesia:select/[14] should be reusable in different, non-transactional activities. Aborting with wrong_transaction doesn't make sense in a dirty context.
2016-05-24mnesia: Fix index match return patternsDan Gudmundsson
When building match result patterns the tuples they must qouted with { }, which causes a problem with variable patterns. Use element(1, Match) instead of trying to build the two tuple.
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: Implement ext copies indexUlf Wiger
Make ram_copies index always use ordered_set And use index type as prefered type not a implementation requirement, the standard implmentation will currently ignore the prefered type.
2016-05-09mnesia_ext: Load table extUlf Wiger
2016-05-09mnesia_ext: Dumper and schema changesUlf Wiger
2016-05-09mnesia_ext: Refactor mnesia_schema.erlUlf Wiger
2016-05-09mnesia_ext: Ext support in fragmented tablesUlf Wiger
2016-05-09mnesia_ext: Backup handlingUlf Wiger
2016-05-09mnesia_ext: Create schema functionalityUlf Wiger
Add ext to table/system information Add add_backend_type
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-05-09mnesia_ext: Add create_external and increase protocol version to monitorUlf Wiger
new protocol version to handle new schema fields
2016-05-09mnesia_ext: Add ext copies to recordsUlf Wiger
2016-05-09mnesia_ext: Add supervisor and behaviour modulesUlf Wiger
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-04Merge tag 'OTP-18.3.1'Henrik Nord
=== OTP-18.3.1 === Changed Applications: - erts-7.3.1 - inets-6.2.1 - mnesia-4.13.4 Unchanged Applications: - asn1-4.0.2 - common_test-1.12 - compiler-6.0.3 - cosEvent-2.2 - cosEventDomain-1.2 - cosFileTransfer-1.2 - cosNotification-1.2.1 - cosProperty-1.2 - cosTime-1.2.1 - cosTransactions-1.3.1 - crypto-3.6.3 - debugger-4.1.2 - dialyzer-2.9 - diameter-1.11.2 - edoc-0.7.18 - eldap-1.2.1 - erl_docgen-0.4.2 - erl_interface-3.8.2 - et-1.5.1 - eunit-2.2.13 - gs-1.6 - hipe-3.15 - ic-4.4 - jinterface-1.6.1 - kernel-4.2 - megaco-3.18 - observer-2.1.2 - odbc-2.11.1 - orber-3.8.1 - os_mon-2.4 - ose-1.1 - otp_mibs-1.1 - parsetools-2.1.1 - percept-0.8.11 - public_key-1.1.1 - reltool-0.7 - runtime_tools-1.9.3 - sasl-2.7 - snmp-5.2.2 - ssh-4.2.2 - ssl-7.3 - stdlib-2.8 - syntax_tools-1.7 - test_server-3.10 - tools-2.8.3 - typer-0.9.10 - webtool-0.9.1 - wx-1.6.1 - xmerl-1.3.10 Conflicts: OTP_VERSION erts/emulator/test/save_calls_SUITE.erl erts/vsn.mk
2016-03-17mnesia: Send mnesia_down messages to waiting transactionsDan Gudmundsson
Mnesia didn't forward mnesia_down to transactions which where already decided to be aborted, but that could lead to hanging transactions still waiting for messages from the node which had stopped.
2016-03-15update copyright-yearHenrik Nord
2016-02-22Merge branch 'maint'Hans Bolinder
* maint: Fix a few dialyzer warnings
2016-02-22Fix a few dialyzer warningsHans Bolinder
2016-02-17Merge branch 'maint'Hans Bolinder
* maint: xmerl: Remove 'no_return' Dialyzer warnings xmerl: Add suppression of Dialyzer warnings eunit: Add suppression of Dialyzer warnings debugger: Add suppression of Dialyzer warnings kernel: Add suppression of Dialyzer warnings mnesia: Add suppression of Dialyzer warnings observer: Add suppression of Dialyzer warnings runtime_tools: Add suppression of Dialyzer warnings stdlib: Add suppression of Dialyzer warnings test_server: Add suppression of Dialyzer warnings tools: Add suppression of Dialyzer warnings Conflicts: lib/stdlib/src/erl_lint.erl lib/stdlib/src/otp_internal.erl