The following bug has been logged online: Bug reference: 1022 Logged by: Bruce Patin Email address: [EMAIL PROTECTED] 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 time zone' 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 date calculation, such as: select input_date('now'); ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match