[Fwd: rdbms-1.0 user contribution]

Hakan Mattsson hakan@REDACTED
Thu Jan 14 10:07:54 CET 1999

On Wed, 13 Jan 1999, Ulf Wiger wrote:

Uffe> > When it comes to nested schema transactions, you said
Uffe> > "..it is not well documented in mnesia how to perform a series of
Uffe> > schema operations within one schema transaction".  This is true and
Uffe> > the simple reason for not documenting that is that nested schema
Uffe> > transactions is not a part of the public API. We do not want to
Uffe> > encourage our customers to use our internal functions.
Uffe> Well, there are customers and there are customers... ;)
Uffe> I don't agree with the policy that you should keep users away from a
Uffe> dangerous operation by making it impossible to do, or impossible to
Uffe> find. Provide a low-level interface and document clearly that you
Uffe> shouldn't use it unless you know what you're doing.

My intention is not to make the internal functions hard to use. But
writing documentation of these have had a rather low priority. The
main reason for not encouraging usage of internal functions is that
their behaviour may be changed without any notice. We put no effort in
making them backwards compatible. You have to be aware about that if
your code uses internal functions, it may be broken in the next

Uffe> What if I want to create 10 tables or none at all? This shouldn't be an
Uffe> unusual situation. It requires being able to call all create_table/2
Uffe> functions within one transaction.


It would be nice to be able to nest any combinations of schema
transactions and plain table access inside an enclosing atomic
transaction. Its not hard to do, but it simply has not been done
yet. The plan is to remove several of the current restrictions in
schema transactions in future releases.


More information about the erlang-questions mailing list