Thanks for your thoughts.

What is the definition of a merge-joinable condition?

Even if I put ExpTime = Infinity (I saw that one coming ;-)), the same error is reported. My only option here is to add A.exptime = B.exptime (which is only true for live data if I use INFINITY), and lose the ability to query historical data.

Can I create an type/operator that compares both records that is considered merge-joinable?

Kind regards,

Harco

Tom Lane wrote:

Martijn van Oosterhout <kleptog@svana.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 :-(



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to