On Fri, Jun 3, 2011 at 1:19 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> On Fri, Jun 3, 2011 at 10:59 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> Personally my advice is to avoid USING: it wasn't one of the SQL >>> committee's better ideas. > >> I don't understand why we can't just translate the USING into some >> equivalent construct that doesn't involve USING. > > There is no directly equivalent construct, because USING changes the > shape of the output table (the join has one fewer output column than > would exist without USING). > > Now, if the query doesn't involve any explicit reference to "joinalias.*", > we could probably fake it with some ugly thing involving > COALESCE(leftcol, rightcol) ... but I don't think people will want to > read that, and anyway the idea falls apart as soon as you do have a > whole-row reference.
Well, it gets internally translated to COALESCE(leftcol, rightcol) anyway, so I hardly think it's too ugly to print it out that way. It's what we're doing; more, it'll work instead of erroring out. This is not the first complaint we've gotten about this problem. I'm not seeing the problem with whole-row references; can you elaborate on that? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs