On Fri, Jun 17, 2016 at 2:10 PM, Oleg Bartunov <obartunov@xxxxxxxxx> wrote:
On Fri, Jun 17, 2016 at 9:32 AM, Andreas Joseph Krogh <andreas@xxxxxxxxxx> wrote:På torsdag 16. juni 2016 kl. 00:50:45, skrev Jeff Janes <jeff.janes@xxxxxxxxx>:On Wed, Jun 15, 2016 at 3:56 AM, Andreas Joseph Krogh <andreas@xxxxxxxxxx> wrote:Hi.First; Is this the correct forum to ask questions about the Postgres Pro's new RUM-index?If not, please point me to the right forum.I think that https://github.com/postgrespro/rum/issues might be the best forum.Oleg and friends; Should we use GitHub-issues as forum (one issue per question/thread?), pgsql-general or something else?Andreas,we are hardly working on our internal version of rum and will open it after resolving some issues. I think the best place to discuss it is -hackers.
Ah, as someone corrected me, we are working hard !
Note that GIN does almost what I want, except use the index when sorting by "sent"-timestamp.So I wonder if RUM can do any better?What I don't understand is how to have "folder_id" as part of the RUM-index so that I can search in an array of folders using the index, AND have the whole result sorted by "sent"-timestamp also using the RUM-index.I think you would have to implement an operator for integers for RUM much like btree_gin does for GIN. Sorry don't know how to do that, except to say look in the RUM code to see how it does it for time-stamps.In the (limited) documentation sorting using timestamp is done like this:ORDER BY sent <-> '2000-01-01'::TIMESTAMPwhich I don't understand; Why must one specify a value here, and how does that value affect the result?This is essentially identical to ORDER BY ABS(sent - '2000-01-01'::TIMESTAMP); except it can use the index.So maybe pick a constant outside the range of possible values, and use that as one argument to <->.This should be unnecessary and hidden from the user. Maybe some "ORDER BY rum_timestamp(sent)" or something could abstract away stuff to make it much clearer to the user?--Andreas Joseph KroghCTO / Partner - Visena ASMobile: +47 909 56 963