On Tue, Apr 1, 2014 at 12:52 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > In bug #9817 there's a complaint that the planner fails to consider > these expressions equivalent: > foo('a'::text, 'b'::text) > foo(variadic array['a'::text, 'b'::text]) > when foo() is declared as taking variadic text[].
My first reaction to this was "who cares? after all, the user should just write the expression the same way both times and then they won't have this problem". But after going and looking at the bug report I see that the user wrote it the first way consistently, but pg_dump blithely rewrote it to the second way. I'm disinclined to view that as a planner problem; it seems to me to be a pg_dump or ruleutils bug. If those two things don't have the same parse representation, then pg_dump has no business treating them as equivalent - even if we were to put enough smarts into the planner to paper over that non-equivalence. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers