On Sat, 24 Nov 2007 21:17:39 -0500 Tom Lane wrote: > "Andreas 'ads' Scherbaum" <[EMAIL PROTECTED]> writes: > > we have some plpgsql functions which use quote_literal() regardless of > > the data type. With Beta 3 this does not work anymore[1]. > > If you're unwilling to fix your application, you can hack around that > for yourself. > > regression=# select quote_literal(42); > ERROR: function quote_literal(integer) does not exist > LINE 1: select quote_literal(42); > ^ > HINT: No function matches the given name and argument types. You might need > to add explicit type casts. > > regression=# create function quote_literal(anyelement) returns text as $$ > regression$# select pg_catalog.quote_literal($1 :: pg_catalog.text) > regression$# $$ language sql; > CREATE FUNCTION > > regression=# select quote_literal(42); > quote_literal > --------------- > '42' > (1 row)
Already had a similar function in my test case, but yours is more elegant. I also think, that we will fix our applications or at least most of them. But that's not the point: more people will run into this problem and this looks like a showstopper for updating to 8.3. By the way, the function is named quote_literal(), not quote_text(). From my point of view i expect to get everything correctly quoted, what's feeded as input into this function. Given the fact, that previous versions accepted every input without notice about the implicit cast, i don't see not so much blame in the application. Kind regards -- Andreas 'ads' Scherbaum PostgreSQL User Group Germany ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend