[erlang-questions] mnesia: composite keys?

Ulf Wiger <>
Thu Jan 15 04:42:26 CET 2009


Erlhive (erlhive.sf.net) actually supports composite keys through
index callbacks. It may have other characteristics that don't suit
you, since it's not a generic database solution.

BR,
Ulf W

2009/1/14, Viktor Sovietov <>:
>
>
> On Jan 10, 9:10 pm, Paul Mineiro <> wrote:
>> On Fri, 9 Jan 2009, Viktor Sovietov wrote:
>> > If you use ordered_set tables that tuple keys are useful, because you
>> > can organize hierarchies inside one table. In other hand, you can't
>> > save such tables on disk, so... Anyway, Erlang isn't MUMPS, so you
>> > simply have not any mechanism to operate with complex keys.
>>
>> I have a nonstandard extension to mnesia that allows one to define new
>> table types, plus a disk-based ordered set table so defined.
>>
>> http://code.google.com/p/mnesiaex/
>>
>> Also we use tuples as keys extensively in our application.
>
>
> I found this useful as well, I use it with tcerl, but again, there
> still is no mechanism to navigate index trees efficiently :
> ( Unfortunately.
>
> Sincerely,
>
> --Victor
>
>>
>> -- p
>>
>>
>>
>>
>>
>>
>>
>> > Sincerely,
>>
>> > --Victor
>>
>> > On Jan 9, 11:45 pm, Peter Sabaini <> wrote:
>> > > Hello list,
>>
>> > > I've read[1] that mnesia doesn't support composite keys. It seems I
>> > > can use
>> > > keys made up of tuples though:
>>
>> > > ()11> mnesia:create_table(test, [{attributes, [id, data]}]).
>> > > {atomic,ok}
>> > > ()19> Ins = fun() -> mnesia:write({test, {a_key, 0},
>> > > "asdfasdf"})
>> > > end.
>> > > #Fun<erl_eval.20.67289768>
>> > > ()20> mnesia:transaction(Ins).
>> > > {atomic,ok}
>> > > ()21> R = fun() -> mnesia:read(test, {a_key, 0}) end.
>> > > #Fun<erl_eval.20.67289768>
>> > > ()22> mnesia:transaction(R).
>> > > {atomic,[{test,{a_key,0},"asdfasdf"}]}
>>
>> > > Is tuples as keys common practice or A Really Bad Idea(tm)?
>>
>> > > thx,
>> > > peter.
>>
>> > > [1]http://www.erlang.org/pipermail/erlang-questions/2008-February/032903...
>>
>> > >  signature.asc
>> > > < 1KViewDownload
>>
>> > > _______________________________________________
>> > > erlang-questions mailing list
>> > > ://www.erlang.org/mailman/listinfo/erlang-questions
>> > _______________________________________________
>> > erlang-questions mailing list
>> > 
>> >http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>> In an artificial world, only extremists live naturally.
>>
>>         -- Paul Graham
>> _______________________________________________
>> erlang-questions mailing list
>> ://www.erlang.org/mailman/listinfo/erlang-questions
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list