Age | Commit message (Collapse) | Author |
|
Cleanup warnings
|
|
|
|
* maint:
Updated OTP version
Prepare release
Fixed crash when a table was deleted during checkpoint traversal
|
|
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.
|
|
* maint:
Update copyright-year
Conflicts:
lib/dialyzer/src/dialyzer.hrl
lib/dialyzer/src/dialyzer_options.erl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
lib/hipe/icode/hipe_icode.erl
lib/hipe/main/hipe.erl
lib/hipe/main/hipe.hrl.src
lib/hipe/main/hipe_main.erl
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
* 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
|
|
|
|
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.
|
|
and increase some timeouts for very slow machines (arm)
|
|
|
|
* maint:
mnesia: let loader check if tablelock is needed
mnesia: Avoid deadlock possibility in mnesia:del_table_copy schema
|
|
del_table_copy grabs a write lock in a new process in prepare_op/3 to
change 'where_to_read' when a table copy is updated.
When del_table_copy(schema, Node) is called all copies located on Node
are deleted, and thus many locks are taken. Since this was done outside
of the schema-transaction, mnesia's deadlock prevention algorithms
was sidestepped and a deadlock could occur.
Fix by always grabbing write-locks for all changed tabs early and in the same
transaction, this might slow done the operation some but it must be done
and it also cleans up the code.
|
|
|
|
Introduced a leak of disk_log processes in the rewrite to try-catch.
|
|
There is no need to update the index table if a record is updated in non
indexed field. This removes one timing glitch where dirty_index_read would
return an empty list for records that where updated.
There is still an issue with dirty_index_read when updates are made to
the index field, it have been reduced but the real table updates are made
after the index table references have been added.
Originally reported by Nick Marino in erl-questions mailing list, thanks.
|
|
|
|
|
|
The docs express that exit({aborted, Reason}) are called when
an error occur.
|
|
* dgud/mnesia/try-catch:
mnesia: Replace catch with try-catch
|
|
Avoids building stacktraces where it is not needed and do
not mask errors, i.e. only catch the relevant classes in each try.
|
|
|
|
|
|
|
|
|
|
match_object returned wrong objects when matching on non key fields
and updates in the same transaction had been performed.
|
|
Need to re-raise the match macro if inside transaction
|
|
|
|
* schlagert/fix_basic_appups:
Dynamically configure typer_SUITE according to environment
Disable hipe_SUITE when environment doesn't support it
Make hipe non-upgradable by setting appup file empty
Fix missing module on hipe app file template
Add test suites performing app and appup file checks
Introduce appup test utility
Fix library application appup files
Fix non-library appup files according to issue #240
OTP-11744
|
|
Add the mentioned test suites for *all* library and touched
non-library applications.
|
|
* dgud/mnesia/add-sync-log/OTP-11729:
mnesia: cleanup some dialyzer unmatched return warnings
mnesia: Shorten testcase names
mnesia: Improve mnesia coredump info
mnesia: Add explicit sync_log command
|
|
For windows tests (limited path lenghts)
|
|
For performance reasons the file data is not synced to disk in mnesia,
data loss can happen between each dump.
mnesia:dump_log() can be used explicitly to ensure data is written to disk.
But that can take a long time, so mnesia:sync_log() which just
sync the log have been added.
|
|
|
|
dirty_update_counter returned the wrong value when a subscriber existed
and no events was sent. Thanks Anton Ryabkov.
|
|
|
|
|
|
|
|
|
|
If mnesia:cleartable/1 was called during a table_load an schema event
with delete and write of that table is sent, which caused the table
to contain the schema record instead of clearing the table.
|
|
|
|
|
|
|
|
|
|
Crashes on windows XP otherwise path > 256..
|