Subject: Re: [sup-talk] Sorting

From: William Morgan <[email-masked]>
Date: Sat, 19 Dec 2009 11:10:17 -0800

Reformatted excerpts from Michael McDermott's message of 2009-12-14:
> At least at my current version, the messages were not in a
> chronological order.  There were messages from the last couple of days
> interleaved for the first few pages.

That's a bug, then. Messages should always be in chronological order. If
this behavior persists with Sup 0.9.1, please submit a bug report to
http://masanjin.net/sup-bugs/

> That said, I am sure that arbitrary sorting would be useful. Heck,
> even Thunderbird and Outlook (much less powerful though they be) allow
> messages to be sorted by fields other than date received.

Sorting by other fields is not so useful when you have a good full-text
search. I doubt I will spend energy working on this, though as always,
patches are welcome.
-- 
William <[email-masked]>
_______________________________________________
sup-talk mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-talk

---

From: Carl Worth <[email-masked]>
Date: Mon, 14 Dec 2009 15:12:41 -0800

On Mon, 14 Dec 2009 11:01:39 -0600, Michael McDermott <[email-masked]> wrote:
> After running a search in Sup, is there any way to sort the result set? Or,
> perhaps, specify the ordering in the query? (ala SQL)

The Xapian database (which Sup uses optionally now and perhaps
exclusively in the future) allows results to be sorted by anything
stored in a "value" field of the documents.

If I recall correctly, Sup is currently storing three things in "value"
fields:

	1. Message ID

        2. Thread ID (which is Message ID of a representative message)

	3. Date

So it's quite easy to have Xapian return things based on an ordering of
any one of those values (in either direction). And this does not require
fetching all documents.

Sorting on anything else would require either fetching all documents,
(and doing the sort in the user-interface), or else storing an
additional value for each document in the database.

What is it that you actually want to sort on?

-carl

---

From: Michael McDermott <[email-masked]>
Date: Mon, 14 Dec 2009 11:01:39 -0600

Michael McDermott
www.mad-computer-scientist.com

---

From: Marc Weber <[email-masked]>
Date: Mon, 14 Dec 2009 18:13:01 +0100

> perhaps, specify the ordering in the query? (ala SQL)

Hi McDermott

Sup is lazy.

It only searches as much results as fit on screen unless you use !!
I think threads are sorted by date which makes much sense.

You propose that you want a ORDER BY feature.
>From SQL you should also know that this forces the database to fetch all
rows even if you're interested only in LIMIT 1.

So try !! and wait. If it' fast enough tell so. If it's not think about
another way to solve you real problem. Maybe just put your real problem
here. There may be a different solution.

You want to stort your threads by which field?

Marc Weber

---

From: "Edward Z. Yang" <[email-masked]>
Date: Mon, 14 Dec 2009 12:17:19 -0500

> I think threads are sorted by date which makes much sense.

If we have an index on X field you want to sort on, we shouldn't
need to grab all of the entries either.  Although, this is entirely
index dependent...

Edward

---

From: Michael McDermott <[email-masked]>
Date: Mon, 14 Dec 2009 14:45:28 -0600

The thing that brought it to mind was search results. In particular, I was
searching for messages with a particular label, then wanting to sort them by
date. (I am running sup version 0.8.1, installed from the Jaunty repositories,
if that is of any help).

At least at my current version, the messages were not in a chronological order.
There were messages from the last couple of days interleaved for the first few
pages.

That said, I am sure that arbitrary sorting would be useful. Heck, even 
Thunderbird and Outlook (much less powerful though they be) allow messages to be
sorted by fields other than date received.