> It's an implementation restriction. If the clauses aren't mergejoinable > there's no very practical way to keep track of which inner-side rows > have had a match. If we could consider it is equivalent transformation as follow? select * from t_1 full outer join t_3 on t_1.a=1; and select * from t_1 full outer join t_3 on true where t_1.a=1; If we could transform RestrictInfo into the where-clause, maybe it right. TEST=# select * from t_1 full outer join t_3 on true where t_1.a=1; A | A ---+--- 1 | 1 1 | 3 (2 rows) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general