Re: type conversion discussion - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: type conversion discussion
Date
Msg-id Pine.LNX.4.21.0005171921050.349-100000@localhost.localdomain
Whole thread Raw
In response to Re: type conversion discussion  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: type conversion discussion
List pgsql-hackers
Tom Lane writes:

> > Let's say you have a function foo(float8, int2) and one foo(float4, int8)
> > and you call it with (you guessed it) float4 and int2. Which do you take?
> 
> A good point; I wouldn't object to returning an error if we determine
> that there are multiple equally-good possibilities.  But, again, the
> sticky question is equally good according to what metric?

IMO that metric should be "existance". Anything else is bound to be
non-obvious. Surely some breadth-first or depth-first search through the
imaginary casting tree would yield reasonable results, but it's still
confusing. I don't see any good reasons why one would have such
ambiguously overloaded functions, though I'd be very interested to see
one.

In fact one might consider preventing *creation* of such setups. That's
what programming languages would do. If I'm not mistaken then what I'm
saying is that overloaded functions must form a lattice when ordered
according to the elsewhere proposed promotion hierarchy of their
arguments. That ought to be a doable thing to check for and then we could
also use lattice concepts to find the best fitting function. Gotta work
this out in detail though.


-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: AW: type conversion discussion
Next
From: "Mikheev, Vadim"
Date:
Subject: RE: Berkeley DB license