2010/1/14 Adrian Klaver <adrian.klaver@gmail.com>:
> On Wednesday 13 January 2010 10:19:57 pm Vincenzo Romano wrote:
>
>> >
>> > Scott, thanks for that I must have read through that section several
>> > times at least with out picking up on it.
>> >
>> > --
>> > Adrian Klaver
>> > adrian.klaver@gmail.com
>>
>> Really?
>>
>> That section is not in any page of the v8.4.2 documentation either PDF or
>> HTML. The sentence has been introduced (yesterday?) in 8.5devel, which is
>> far from being "current".
>
> http://www.postgresql.org/docs/8.4/interactive/plpgsql-implementation.html
> 38.10.1. Variable Substitution
> Last paragraph.
>
>>
>> I only hope they won't change the manual to match the feature/bug
>> (warning: new joke)
>>
>> So that was not a joke at all! :-(
>
>
>
> --
> Adrian Klaver
> adrian.klaver@gmail.com
>
Now I'm pretty surfe it's a bug.
CREATE OR REPLACE FUNCTION f()
RETURNS VOID
LANGUAGE plpgsql
AS $function$
DECLARE
cmd TEXT;
BEGIN
EXECUTE '
SELECT $l0$ALTER TABLE test ALTER COLUMN i SET DEFAULT $1 $l0$
' INTO cmd USING 42;
RAISE INFO '%',cmd;
END;
$function$
SELECT f();
INFO: ALTER TABLE test ALTER COLUMN i SET DEFAULT $1
The command to be executed is DML (SELECT). The substitution doesn't take place.
--
Vincenzo Romano
NotOrAnd Information Technologies
cel. +39 339 8083886 | gtalk. vincenzo.romano@notorand.it
fix. +39 0823 454163 | skype. notorand.it
fax. +39 02 700506964 | msn. notorand.it
NON QVIETIS MARIBVS NAVTA PERITVS