How can I tell the difference between a table not being present in the schema and a table that has not yet loaded?
I am currently using mnesia:wait_for_tables() with a relatively large timeout to detect a table, but this is loose (what happens if the table actually takes a long time to start) and time consuming (if the table is really not there).
Maybe try...
lists:member(table_name, mnesia:table_info(schema, tables)).
It's only a guess, but it could be the basis for an experiment if no one else has a definitive answer.