I thought all ambiguous function calls would generate an error:
ERROR: function g("unknown") is not unique
HINT: Could not choose a best candidate function. You may need to add
explicit type casts.
but this doesn't seem to be the case. 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
jurka=# SELECT g(NULL);
g
---
2
(1 row)
Kris Jurka