[erlang-questions] Mnesia activity callback system context
Ulf Wiger
ulf.wiger@REDACTED
Thu Jan 14 00:12:26 CET 2010
Bernard Duggan wrote:
> Hi List,
> Is it the case that mnesia activity callbacks are guaranteed to
> execute in the same process that is performing the transaction?
Yes.
> I can't
> find any mention of it in the docs. I ask because if it's not, it
> doesn't seem like there's any way to get an arbitrary piece of
> information from the latter process to the one in which the callbacks
> execute, and that significantly limits their usefulness for a couple of
> things I'd like to do. (I had written a long email explaining those
> things, but if the answer to this question is "yes" then I can save us
> all a lot of time :))
> Even if the answer is "yes", it still seems like the only way would
> be to use the process dictionary - fine if that's the case, but it seems
> like there "should" be a neater way.
The rdbms contrib (Jungerl) is probably one of the more ambitious
examples of mnesia AccessMod exploits out there, and it makes heavy
use of the process dictionary.
I also did use parameterized modules once (I don't think I ever
committed it to jungerl, though), when I wanted to make mnesia
support writing to a table in the same (schema) transaction
that was used to create the table. That required some rewrites of
mnesia.erl and mnesia_tm.erl, though. Using the process dictionary
is less invasive.
BR,
Ulf W
---------------------------------------------------
---------------------------------------------------
WE'VE CHANGED NAMES!
Since January 1st 2010 Erlang Training and Consulting Ltd. has become ERLANG SOLUTIONS LTD.
www.erlang-solutions.com
More information about the erlang-questions
mailing list