This document describes the changes made to the Mnesia system from version to version. The intention of this document is to list all incompatibilities as well as all enhancements and bugfixes for every release of Mnesia. Each release of Mnesia thus constitutes one section in this document. The title of each section is the version number of Mnesia.
Sometimes a 'log_header' record was added to tables when invoking mnesia:restore/2 with the option 'recreate_tables'. Thanks Vance Shipley.
Own Id: OTP-8960
Compiler warnings were eliminated.
Own Id: OTP-8855
Eliminated warnings for auto-imported BIF clashes.
Own Id: OTP-8840
Added mnesia:subscribe(activity) contributed by Bernard Duggan.
Own Id: OTP-8519
Transactions could be left hanging if a node went down when invoking mnesia:sync_transaction/[1,2]. Thanks Igor Ribeiro Sucupira.
Own Id: OTP-8402
Igor Ribeiro Sucupira added the option to compress data when copying tables between Mnesia nodes.
Own Id: OTP-8406
The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.
Own Id: OTP-8250
Fixed duplicate results with mnesia:index_read() on ordered_set tables. Reported by Sam Bobroff.
Fixed locking in mnesia:index_read() which now grabs a read table lock to ensure correctness, this may slow down the operation or block other processes trying to reach the same table.
Calling mnesia:dump_log() could crash mnesia, Reported by Igor Ribeiro Sucupira.
Own Id: OTP-8074
Mnesia crashed if a qlc query was running inside a transaction when mnesia stopped at another node. Thanks Teemu Antti-Poika.
Own Id: OTP-7968
Mnesia could crash when loading local_content tables.
Own Id: OTP-8002 Aux Id: seq11277
Minor (smp) optimizations.
Own Id: OTP-7928
mnesia:clear_table/1 crashed instead of returning
Own Id: OTP-7911
With bad timing several api functions could return or exit with a bad error message when mnesia was shutting down.
Own Id: OTP-7753 Aux Id: seq11179
Own Id: OTP-7835
Disallowed match patterns ('_', and '$n') as argument to
Own Id: OTP-7524
Introduced a few new functions in Mnesia:
Own Id: OTP-7625
Own Id: OTP-7585 Aux Id: seq11046
mnesia:clear_table/1 does not require that all replicas of the table are available anymore.
Own Id: OTP-7466 Aux Id: seq11015
Mnesia did not garbage collect transaction decisions on disk based nodes if no transactions where made on the local node.
Own Id: OTP-7419
Table referred to by foreign key did not have node_pool properly cleaned up when a node was removed from the schema. Thanks Paul Mineiro.
Own Id: OTP-7340
Mnesia crashed and generated a core dump if a schema_transaction was running when mnesia stopped.
Own Id: OTP-7378 Aux Id: seq10964
It is now possible to delete a db node even when other disk resident nodes are down. Thanks Paul Mineiro.
Own Id: OTP-7383
Sticky locks could lead to hanging transactions.
Own Id: OTP-7205 Aux Id: seq10793
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-7208
Snmp index tables was not initialized correctly in
Own Id: OTP-7170 Aux Id: seq10870
Rearranging fragmented tables is an O(N^2) operation.
Own Id: OTP-6300
Mnesia ignored the module argument to
Own Id: OTP-6981
Mnesia's snmp operations
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-6856 Aux Id: seq10671
Introduced erlang:phash/2 as new default for fragmented tables. Already existing tables will continue to use whatever hash function they where using.
Own Id: OTP-6923
Introduced
Own Id: OTP-6995 Aux Id: seq10812
Rearranging fragmented tables is an O(N^2) operation.
Own Id: OTP-6300