On 2006-01-15 15:42, Tom Lane wrote:
>
>> EXPLAIN SELECT count(*) FROM "Extra" FULL JOIN "GeoRestrict" ON
>> callsign ~ pattern WHERE geo_region =
>> 4;
>>
>
> Oh, but that reduces it to a left join, as you can see in the EXPLAIN
> output ---
Yes, I previously noticed that in the EXPLAIN output too.
> any null-extension rows from the right side are going to fail
> the WHERE condition anyway, so the planner simplifies the FULL JOIN to a
> LEFT JOIN. If you'd eliminate the WHERE altogether then the failure
> will come back.
>
>
Tried that, and you are right there as well.
So, given the fact that the right-hand-table is only about 15 rows, do
you think changing the SELECT back to a LEFT JOIN, and then using a
UNION to get the extra right-hand-rows in, is the best work-around?
-- Dean