Re: quote_literal(integer) does not exist - Mailing list pgsql-hackers

From Andreas 'ads' Scherbaum
Subject Re: quote_literal(integer) does not exist
Date
Msg-id 20071125135156.42a5a8a2@localhost
Whole thread Raw
In response to Re: quote_literal(integer) does not exist  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: quote_literal(integer) does not exist
List 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 by date:

Previous
From: "D'Arcy J.M. Cain"
Date:
Subject: Re: [COMMITTERS] pgsql: Add regression tests for MONEY type.
Next
From: Simon Riggs
Date:
Subject: Re: Open 8.3 issues