Folks,
Hmmm posted too soon. Figured out the problem:
The planner can't, or doesn't want to, use an index on (event_date,
(event_date + duration)) where the first column is an ascending sort and the
second a descending sort. So I've coded a workaround that's quite
inelegant but does get the correct results in 0.3 seconds (as opposed to the
2.2 seconds taken by the example plan).
Is this the sort of thing which is ever likely to get fixed, or just a
fundamental limitation of index algorithms? Would using a non B-Tree index
allow me to work around this?
--
-Josh Berkus
Aglio Database Solutions
San Francisco