Re: [PATCHES] BTree tid operators and opclass

2006-07-21 Thread Tom Lane
Greg Stark <[EMAIL PROTECTED]> writes:
> Here's a small patch to add the full suite of btree operators for tids
> and the corresponding btree opclass.

Having just felt a need for MAX(tid) and MIN(tid) to look into a
performance issue, I went ahead and committed this.  I'm aware that
your later patch for online indexes subsumes this, but that didn't
seem ready to apply ...

regards, tom lane

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [PATCHES] BTree tid operators and opclass

2006-07-06 Thread Greg Stark
Tom Lane <[EMAIL PROTECTED]> writes:

> Greg Stark <[EMAIL PROTECTED]> writes:
> > Here's a small patch to add the full suite of btree operators for tids and 
> > the
> > corresponding btree opclass.
> 
> This has been proposed and rejected before, mainly on the basis that
> there's no conceivable application for an index on TID.  What's your
> use case?

IIRC the use case that was previously suggested was the common Oracle idiom
for removing duplicates. The Postgrse equivalent would something like:

delete from tab where exists (
  select 1 from tab as x where x.pk = tab.pk and x.ctid > tab.ctid
)


In my case I don't want to create an index on tid, I just have a list of tids
that I want to sort so I can process them in heap order. 

I was going to just write a qsort comparator but this way I can use tuplesort
and not worry about what happens if it doesn't fit in memory.


-- 
greg


---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [PATCHES] BTree tid operators and opclass

2006-07-06 Thread Tom Lane
Greg Stark <[EMAIL PROTECTED]> writes:
> Here's a small patch to add the full suite of btree operators for tids and the
> corresponding btree opclass.

This has been proposed and rejected before, mainly on the basis that
there's no conceivable application for an index on TID.  What's your
use case?

regards, tom lane

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [PATCHES] BTree tid operators and opclass

2006-07-06 Thread Bruce Momjian
Greg Stark wrote:
> 
> Here's a small patch to add the full suite of btree operators for tids and the
> corresponding btree opclass. This came up a while back on -hackers and a few
> people were interested in it at the time. I just had a need for it again so I
> added it.
> 
> I'm not sure how to allocate OIDs. I just looked for the greatest one in the
> various .h files and started from there. It leads to some strange
> discontinuities since there were existing = and <> operators.

Run /include/catalog/unused_oids to see the available OIDs and allocate
a large enough block.

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDBhttp://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---(end of broadcast)---
TIP 6: explain analyze is your friend