On Mon, Jul 26, 2010 at 3:49 PM, Merlin Moncure <mmonc...@gmail.com> wrote: > concat() is not a variadic text function. it is variadic "any" that > happens to do text coercion (not casting) inside the function. The > the assumption that concat is casting internally is probably wrong. > Suppose I had hacked the int->text cast to call a custom function -- I > would very much expect concat() not to produce output from that > function, just the vanilla output text (I could always force the cast > if I wanted to). > > concat is just a function that does something highly similar to > casting. suppose I had a function count_memory(variadic "any") that > summed memory usage of input args -- forcing casts would make no sense > in that context (I'm not suggesting that you think so -- just bringing > up a case that illustrates how forcing cast into the function can > change behavior in subtle ways).
Right, but I already said I wasn't objecting to the use of variadic ANY in cases like that - only in cases where, as here, you were basically taking any old arguments and forcing them all to text. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers