Re: quote_literal(integer) does not exist
От | Andreas 'ads' Scherbaum |
---|---|
Тема | Re: quote_literal(integer) does not exist |
Дата | |
Msg-id | 20071125135156.42a5a8a2@localhost обсуждение исходный текст |
Ответ на | Re: quote_literal(integer) does not exist (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: quote_literal(integer) does not exist
|
Список | pgsql-hackers |
On Sat, 24 Nov 2007 21:17:39 -0500 Tom Lane wrote: > "Andreas 'ads' Scherbaum" <adsmail@wars-nicht.de> 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
В списке pgsql-hackers по дате отправления: