Re: ERROR: FULL JOIN is only supported with merge-joinable join conditions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: Harco de Hilster <Harco(dot)de(dot)Hilster(at)ATConsultancy(dot)nl>, pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: FULL JOIN is only supported with merge-joinable join conditions
Date: 2006-03-13 16:18:36
Message-ID: 7935.1142266716@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> I think the reason it hasn't been done for general join conditions is
> because we havn't thought of an efficient algorithm.

Right, it's keeping track of the unmatched right-hand rows that's a
problem.

> However, I wonder if youre case couldn't be handled with a
> time-interval datatype such that you condition is merge-joinable on
> that type. I can't quite see it though...

Interesting thought. The use of NULLs in this example is a pretty poor
representational choice --- the queries would get a lot simpler if you
used "exptime = INFINITY" to represent unexpired data. That doesn't get
you all the way to a mergejoinable query though :-(

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Editores S.A. 2006-03-13 16:21:01 Concurrencia
Previous Message Tom Lane 2006-03-13 16:04:16 Re: Transaction eating up all RAM