Tom Lane wrote: > Thomas Lockhart <[EMAIL PROTECTED]> writes: > >> It's one thing to say that "apples || oranges" should > >> be interpreted as "apples::text || oranges::text", but it is quite > >> another to say that "apples <= oranges" should be handled that way. > > > Hmm. istm that we might need some information to travel with the > > operators, not just the coersion functions themselves. We have a fairly > > type-rich system, but need to preserve the ability to add types and a > > *partial* set of functions and operators and get reasonable behaviors. > > Could we do anything based on looking at the whole set of candidate > operators? For example, I think that the reason "apples || oranges" > is so appealing is that there really is only one way to interpret > the || operator; whereas of course there are lots of different <= > operators. Perhaps we could be more forgiving of implicit coercions > when there are fewer candidate operators, in some way? Again, something > based on type categories would make sense to me. Perhaps allow > cross-category implicit coercions only if there are no candidate > operators accepting the input's native category?
Yes, I think any solution will have to consider the number of possible conversions for a given mix of function/args. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly