Я пишу здесь, потому что у меня есть проблема с Mnesia, в частности, кажется, что когда я запускаю свой узел, и я запускаю процедуру для инициализации базы данных (она делает таблицу и popultes их), одна таблица повреждена. Эта таблица не имеет особых опций и является disk_only_copy.Erlang 13B04: Mnesia пишет развращает таблицу
Инициализация выполнена с помощью простой транзакции в функции, используемой списками: foldl.
Я уже пытаюсь сделать все в оболочке Erlang и все работает, транзакция и запись записи возвращают потативный результат, поэтому сбоев кода нет.
Я уже сделал поиск, но нет четкого ответа на эту проблему: кто-то говорит, что он должен использовать транзакцию (выполненную, но любое изменение), в таблице записывается память (это не потому что, если я все делаю в оболочке, все работает), так что же может быть?
Спасибо всем за помощь.
Спасибо за ответ. Я знаю, что это старая версия, но теперь у меня нет времени сделать перенос на более новую версию. Но если нет другого решения, я должен найти время для этого. Возможно ли, что у меня есть эта проблема только с этой таблицей, а остальные работают нормально? – Mat
Да, это возможно. Было бы просто создать минимальную версию вашего кода запуска, которая имеет только одну таблицу, но по-прежнему показывает ту же проблему с коррупцией? Затем вы можете попробовать это на разных выпусках OTP. – RichardC