%% This tests the presence of possible races due to an mnesia:dirty_read/ %% mnesia:dirty_write combination. It takes into account the argument types %% of the calls. -module(mnesia_dirty_read_one_write_two). -export([raise/2]). -record(employee, {emp_no, name, salary, sex, phone, room_no}). raise(Eno, Raise) -> [E] = mnesia:dirty_read({employee, Eno}), Salary = E#employee.salary + Raise, New = E#employee{salary = Salary}, mnesia:dirty_write(employee, New).