Aaron Stone wrote:
On Tue, Jan 25, 2005, Paul J Stevens <[EMAIL PROTECTED]> said:


I was pleasantly surprised by your command trace yesterday. Apparently
c-client is smart. Smart enough to hide server-errors from the client.
The fact that

A01 SORT (REVERSE ARRIVAL) US-ASCII ALL

failed is very important in this respect. The build_imap_search function
is full of TODO statements for search keys that are silently ignored
whereas US-ASCII and UTF-8 which are both explicitely required...

[snip]

Looks like SORT (ARRIVAL) US-ASCII ALL kinda works in 2.0.3, because for
ARRIVAL, there's:

  if(sorted && (strcasecmp(search_keys[*idx], "arrival") == 0)) {
      key.type = IST_SORT;
      strncpy(key.search, "order by pms.internal_date", MAX_SEARCH_LEN);
      (*idx)++;

Whereas (REVERSE ARRIVAL) fails because REVERSE doesn't work. In 2.0.2,
US-ASCII itself threw an error, and so in both cases fallbacks were used.

So REVERSE ARRIVAL can be done just with a "desc" in the "order by"
clause. However REVERSE with any of the other sorts, working or not, won't
work.

I tried that yesterday. Won't work even for ARRIVAL, because of the way the result set is constructed in db_search. But perhaps I was just being dense.


That US-ASCII isn't recognized at all means that a fallback is always
used. I would be interested in seeing the command that SquirrelMail uses.
Perhaps we'd be much better off replacing the tries-to-be-general _ic_sort
with an actual hack -- one that recognizes specific SORT commands that we
know we can implement and that we've seen used by clients in the wild.

jikes :-)


--
  ________________________________________________________________
  Paul Stevens                                         [EMAIL PROTECTED]
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands_______________________________________www.nfg.nl

Reply via email to