BUG #8630: Planner behavior change between PG 9.0.14 and 9.3.1 - Mailing list pgsql-bugs

From v.langard@auriga.fr
Subject BUG #8630: Planner behavior change between PG 9.0.14 and 9.3.1
Date
Msg-id E1VkyWe-0000cm-Qz@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #8630: Planner behavior change between PG 9.0.14 and 9.3.1  (Vik Fearing <vik.fearing@dalibo.com>)
List pgsql-bugs
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.

pgsql-bugs by date:

Previous
From: Oliver Munyao
Date:
Subject: Re: pgdump not dumping my database
Next
From: bricklen
Date:
Subject: Re: BUG #8629: Strange resultset when using CTE or a subselect