Thread: ERROR: failed to build any 3-way joins

ERROR: failed to build any 3-way joins

From
"Jehan-Guillaume (ioguix) de Rorthais"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

A user reported us the following bug under phpPgAdmin with 9.0beta1, but it seems it comes from backend.

Here is how to reproduce the bug:

================>
postgres=# SELECT version();
                                           version
- ----------------------------------------------------------------------------------------------
 PostgreSQL 9.0beta1 on i686-pc-linux-gnu, compiled by GCC gcc (Debian 4.4.3-2) 4.4.3, 32-bit
(1 row)

postgres=# SELECT rolname FROM pg_catalog.pg_roles AS r, pg_auth_members AS m
WHERE r.oid=m.roleid
AND member IN (
SELECT oid FROM pg_catalog.pg_roles
WHERE rolname='postgres')
ORDER BY rolname;
ERROR:  failed to build any 3-way joins
<================

- --
Jehan-Guillaume (ioguix) de Rorthais
DBA
http://www.dalibo.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkv5i+AACgkQXu9L1HbaT6LRNgCgxD2+d7V/+CPLdXdqoLLyQCF5
CdsAn0grUp3bXjOazRz111wTJDxa4ff6
=9qaz
-----END PGP SIGNATURE-----

Re: ERROR: failed to build any 3-way joins

From
Joshua Tolley
Date:
On Sun, May 23, 2010 at 2:11 PM, Jehan-Guillaume (ioguix) de Rorthais
<jgdr@dalibo.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> A user reported us the following bug under phpPgAdmin with 9.0beta1, but =
it seems it comes from backend.
>
> Here is how to reproduce the bug:
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D>
> postgres=3D# SELECT version();
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 version
> - -----------------------------------------------------------------------=
-----------------------
> =A0PostgreSQL 9.0beta1 on i686-pc-linux-gnu, compiled by GCC gcc (Debian =
4.4.3-2) 4.4.3, 32-bit
> (1 row)
>
> postgres=3D# SELECT rolname FROM pg_catalog.pg_roles AS r, pg_auth_member=
s AS m
> WHERE r.oid=3Dm.roleid
> AND member IN (
> SELECT oid FROM pg_catalog.pg_roles
> WHERE rolname=3D'postgres')
> ORDER BY rolname;
> ERROR: =A0failed to build any 3-way joins
> <=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Just a guess, but I'd bet this was fixed by the very recent commit to
fix this: http://archives.postgresql.org/pgsql-hackers/2010-05/msg01203.php

--
Joshua Tolley / eggyknap
End Point Corporation

Re: ERROR: failed to build any 3-way joins

From
Tom Lane
Date:
Joshua Tolley <eggyknap@gmail.com> writes:
> On Sun, May 23, 2010 at 2:11 PM, Jehan-Guillaume (ioguix) de Rorthais
> <jgdr@dalibo.com> wrote:
>> Here is how to reproduce the bug:
>> postgres=# SELECT rolname FROM pg_catalog.pg_roles AS r, pg_auth_members AS m
>> WHERE r.oid=m.roleid
>> AND member IN (
>> SELECT oid FROM pg_catalog.pg_roles
>> WHERE rolname='postgres')
>> ORDER BY rolname;
>> ERROR:  failed to build any 3-way joins

> Just a guess, but I'd bet this was fixed by the very recent commit to
> fix this: http://archives.postgresql.org/pgsql-hackers/2010-05/msg01203.php

Worksforme in CVS HEAD, so apparently it is that same bug.  Thanks for
the report though!

            regards, tom lane