Обсуждение: BUG #14105: regression for right join - failed to build any 2-way joins
BUG #14105: regression for right join - failed to build any 2-way joins
От
vojta.rylko@gmail.com
Дата:
The following bug has been logged on the website: Bug reference: 14105 Logged by: Vojtech Rylko Email address: vojta.rylko@gmail.com PostgreSQL version: 9.5.2 Operating system: Linux version 3.16.0-30-generic Description: I have problem with right join which uses coalesce in join condition. With other type of join or without coalesce query works. Minimal reproducer: create table a as (select 1 as id); select * from (( a as a1 full join (select 1 as id) as tt on (a1.id = tt.id) ) right join (select 1 as id) as tt2 on (coalesce(tt.id) = tt2.id) ) ; ERROR: XX000: failed to build any 2-way joins LOCATION: standard_join_search, allpaths.c:1832 It works on PostgreSQL 9.2.13., returning: id | id | id ----+----+---- 1 | 1 | 1 (1 row) Cheers, V.
Re: BUG #14105: regression for right join - failed to build any 2-way joins
От
"David G. Johnston"
Дата:
On Wed, Apr 20, 2016 at 12:47 PM, <vojta.rylko@gmail.com> wrote: > The following bug has been logged on the website: > > Bug reference: 14105 > Logged by: Vojtech Rylko > Email address: vojta.rylko@gmail.com > PostgreSQL version: 9.5.2 > Operating system: Linux version 3.16.0-30-generic > Description: > > I have problem with right join which uses coalesce in join condition. Wit= h > other type of join or without coalesce query works. > > Minimal reproducer: > > create table a as (select 1 as id); > select * > from (( > a as a1 > full join (select 1 as id) as tt > on (a1.id =3D tt.id) > ) > right join (select 1 as id) as tt2 > on (coalesce(tt.id) =3D tt2.id) > ) > ; > ERROR: XX000: failed to build any 2-way joins > LOCATION: standard_join_search, allpaths.c:1832 > > > It works on PostgreSQL 9.2.13., returning: > id | id | id > ----+----+---- > 1 | 1 | 1 > (1 row) > > Cheers, > V. > =E2=80=8BSounds familiar... Anyway I confirmed on 9.5.2=E2=80=8B =E2=80=8Band also see it on 9.3.12 No ready access to 9.4 or 9.2 David J. =E2=80=8B
vojta.rylko@gmail.com writes: > I have problem with right join which uses coalesce in join condition. With > other type of join or without coalesce query works. I've pushed a fix for this. Thanks for the report and test case! regards, tom lane