aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/src/mnesia_index.erl
AgeCommit message (Collapse)Author
2015-09-10mnesia: Improve index updatesDan Gudmundsson
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.
2015-06-18Change license text to APLv2Bruce Yinhe
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-03-28mnesia: Dialyzer fixesDan Gudmundsson
2014-02-20mnesia: cleanup some dialyzer unmatched return warningsDan Gudmundsson
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-04-24Fix missing case clause for ordered_set tablesNick Marino
The previous commit contained a regression that would trigger a crash when attempting to add an index to an Mnesia table of type ordered_set.
2013-04-12Optimize index creation for Mnesia set tablesNick Marino
ETS bag tables have very poor performance on insertion if you have lots of rows with duplicate keys, since it has to check each existing record and make sure it's not inserting any duplicates. This can lead to some pretty drastic slowdowns when inserting lots of rows into an Mnesia table, IF you're introducing lots of duplicate values into an indexed column. As it turns out, we can fix this by switching to duplicate_bag tables for storing Mnesia indexes on tables of type 'set', and it ultimately makes no functional difference since we will never actually attempt to insert any duplicate records anyway. (We would have to make some bigger changes to make this work for Mnesia bag tables though, so that is left as a possible enhancement for the future.)
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-06-18Prevent index from being corrupted if a nonexistent item is deletedBartlomiej Puzon
We have to ensure that we actually delete the last object with a given (key, index) pair before removing the index.
2011-03-02Mnesia dialyzer fixesDan Gudmundsson
With help from Kostis
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP