On 16 June 2013 22:49, Jonathan Leivent <span dir="ltr"><<a href="mailto:jleivent@comcast.net" target="_blank">jleivent@comcast.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 06/16/2013 05:25 PM, Chandru wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Have you tried this?<br>
<br>
mnesia:table_info(Table_name, size).<br>
<br>
Chandru<br>
</blockquote>
<br></div>
That's the alternative I mentioned below, just with an ets activity wrapped around it.  I just don't know if table_info-size is going to get the answer fast in all cases.  For instance, if it actually has to iterate to count the records.  Or if it collects more info than just size, and then returns only size because that's all that's being asked for.  Or if it has to wait for write locks on the table to get dropped, even though it is wrapped in an ets activity.<br>


<br>
I forgot to mention that the table is local_content, if that makes any difference.</blockquote><div><br>Yes, sorry I didn't notice that. AFAIK, table info such as size is metadata which is maintained for each table, and not something which is determined each time you issue the command.<br>

<br>Chandru<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On 16 June 2013 20:14, Jonathan Leivent <<a href="mailto:jleivent@comcast.net" target="_blank">jleivent@comcast.net</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What is the fastest way, avoiding locking, to tell if an ordered_set<br>
mnesia table is empty or not?  I'm assuming that if the table is not an<br>
ordered set, then:<br>
<br>
   mnesia:activity(ets, fun mnesia:first/1, [Table]) == '$end_of_table'<br>
<br>
is the fastest.  However, if the table is an ordered set, this seems like<br>
it could take O(logN) time.<br>
<br>
Would this be faster?:<br>
<br>
  mnesia:activity(ets, fun mnesia:table_info/2, [Table, size]) == 0<br>
<br>
Is there a faster alternative?<br>
<br>
-- Jonathan<br>
</blockquote></blockquote>
<br>
<br>
</div></div></blockquote></div><br>