Kris Jurka <[EMAIL PROTECTED]> writes:
> The below code creates overloaded 
> functions that do not produce this error when called with a NULL argument.

> jurka=# CREATE FUNCTION g(int) RETURNS int AS 'SELECT 1;' LANGUAGE sql;
> CREATE FUNCTION
> jurka=# CREATE FUNCTION g(float) RETURNS int AS 'SELECT 2;' LANGUAGE sql;
> CREATE FUNCTION

float (a/k/a float8) is the preferred type in the numeric hierarchy,
so it will win in a tug-of-war against int.  There are other cases
where it would lose (eg, had you declared g(text)).  The objective
of the type rules is most certainly not to fail in any ambiguous
situation --- if we did, we'd have a completely unusable system.

                        regards, tom lane

---------------------------(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

Reply via email to