Re: overloaded functions and NULL - Mailing list pgsql-bugs

From Tom Lane
Subject Re: overloaded functions and NULL
Date
Msg-id 10280.1097642659@sss.pgh.pa.us
Whole thread Raw
In response to overloaded functions and NULL  (Kris Jurka <books@ejurka.com>)
Responses Re: overloaded functions and NULL  (Gaetano Mendola <mendola@bigfoot.com>)
List pgsql-bugs
Kris Jurka <books@ejurka.com> 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

pgsql-bugs by date:

Previous
From: Kris Jurka
Date:
Subject: overloaded functions and NULL
Next
From: "PostgreSQL Bugs List"
Date:
Subject: BUG #1285: Violacion de segmento