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

Поиск
Список
Период
Сортировка
От Harco de Hilster
Тема Re: ERROR: FULL JOIN is only supported with merge-joinable
Дата
Msg-id 4415A056.2020203@ATConsultancy.nl
обсуждение исходный текст
Ответ на Re: ERROR: FULL JOIN is only supported with merge-joinable join conditions  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ERROR: FULL JOIN is only supported with merge-joinable
Список pgsql-general
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 :-(
>
>
>


В списке pgsql-general по дате отправления:

Предыдущее
От: "Peter"
Дата:
Сообщение: Re: Transaction eating up all RAM
Следующее
От: Andreas Kretschmer
Дата:
Сообщение: Re: dump from old version