The following bug has been logged on the website:
Bug reference: 8630
Logged by: Vince
Email address: v.langard@auriga.fr
PostgreSQL version: 9.3.1
Operating system: Windows 8
Description:
Using PG 9.0.14, this code returns no error:
create table t_dummy as (
select
null::integer as int_value,
null::timestamp as ts_value
);
create or replace function test(in_text character varying)
returns void as
$$
begin
update t_dummy set
ts_value = in_text::timestamp, -- OK
int_value = in_text::integer -- ERROR
where false;
end;
$$
language plpgsql volatile security definer;
select test('dummy');
Using PG 9.3.1, the code returns error: invalid input syntax for integer:
"dummy"
It seems that the planner try to cast the dummy value, although update
should never be executed. "analyse" only raise error too, and there's no
error for timestamp casting.