2009/9/1 Heikki Linnakangas <heikki.linnakan...@enterprisedb.com>: > I can see two possible interpretations for this: > > 1. The subquery pull-up code is broken, the transformation of a > whole-row reference to ROW(...) is not valid. > > 2. The semantics of STRICT with row arguments is broken. It should be > made consistent with IS NULL. Strict function should not be called if > the argument is a row value with all NULL columns. > > I'm not sure which interpretation is correct. Thoughts? The SQL spec > probably has something to say about this.
I suppose ts.* that wasn't joined is NULL. Not "a row value with all NULL columns" but "a NULL row value". contrib_regression=# SELECT t1.f1, ts.* IS NULL, ts.* FROM t1 LEFT JOIN (SELECT f1 FROM t2 -- offset 0 ) AS ts ON t1.f1 = ts.f1 ; f1 | ?column? | f1 -----+----------+----- aaa | t | bbb | f | bbb ccc | t | (3 rows) So the 1. ROW(...) construction seems not valid. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com > > -- > Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-bugs > Regards, -- Hitoshi Harada -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs