[erlang-questions] Selecting X number of items from Mnesia
Ulf Wiger (TN/EAB)
ulf.wiger@REDACTED
Fri Feb 8 11:08:32 CET 2008
Hynek Vychodil skrev:
> Just from qlc manual:
>
> To return just a few answers cursors can be used. The following code
> returns no more than five answers using an ETS table for storing the
> unique answers:
>
> C = qlc:cursor(qlc:q([X || X <- qlc:append(QH1, QH2)],{unique,true})),
> R = qlc:next_answers(C, 5),
> ok = qlc:delete_cursor(C),
> R.
Note, thought, that this will be much more costly than using
select() with a limit on number of matching objects.
The cursor support needs to create a temporary store, which in
the case of QLC is solved using a separate process. This will
involve quite some copying.
BR,
Ulf W
>
> On Feb 8, 2008 9:06 AM, Ulf Wiger <ulf@REDACTED <mailto:ulf@REDACTED>>
> wrote:
>
> I'd have to check on how to do it with QLC, but using
> mnesia:select(Tab, MatchSpec, NObjs, Lock), you
> can quite easily pull the N first objects from an
> ordered_set table.
>
> BR,
> Ulf W
>
> 2008/2/8, Dave Bryson <daveb@REDACTED <mailto:daveb@REDACTED>>:
> > I apologize in advance for the newbie question!
> >
> > I'm trying to treat an mnesia table as a FIFO queue. What I'd like to
> > be able to do is pull X number of items off the head of the list
> > returned by a query. There's no conditional values to isolate the
> > records - I just want the top X number of records. Is there an
> > efficient way to do this with qlc?
> >
> > Thanks in advance!
> >
> > Dave
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> > http://www.erlang.org/mailman/listinfo/erlang-questions
> >
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
>
>
> --
> --Hynek (Pichi) Vychodil
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list