erlang mnesia - информация о недопустимой записи

Я пытаюсь создать функцию, которая гарантирует, что нужная мне таблица уже создана, и если не создавать ее. Вот пример:

ensure_table_exists(Table, MnesiaTables, Nodes) ->
case lists:member(Table, MnesiaTables) of
    true ->
        throw({error, db_might_have_already_been_created});
    false ->
        mnesia:create_table(Table, [{disc_copies, Nodes},
                {attributes, record_info(fields, Table)}]), 
        ok  
end.

Проблема в том, что при компиляции я получаю ошибка: недопустимая информация о записи . Может потребоваться разрешение record_info во время компиляции или что вторым аргументом для записи информации должна быть запись, которую можно получить из исходного кода?

5
задан ndim 10 September 2010 в 19:52
поделиться