The following bug has been logged online:
Bug reference: 1022
Logged by: Bruce Patin
Email address: bpatin@padecs.riss.net
PostgreSQL version: 7.4
Operating system: FreeBSD 4.8-RELEASE
Description: date calculation forces wrong type in function parameter and causes error
Details:
In PostgreSQL 7.4 only, a date type provided as a function parameter gets automatically typecast to 'timestamp without
timezone' when calculations are performed on it.
In Pg 7.3 and before, I have successfully used a function with a date parameter such as this simplified version:
CREATE FUNCTION input_date(date) RETURNS INT AS 'SELECT 0;' LANGUAGE 'SQL';
Then, when I calculate a date during execution,
such as:
select input_date('now'::date+'5 years'::interval);
PostgreSQL 7.4 gives error:
ERROR: function input_date(timestamp without time zone) does not exist
The same function works correctly in PostgreSQL 7.3 and before, and it also works even in 7.4 if I do not try to do
datecalculation, such as:
select input_date('now');