Re: Type resolution for operators

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Type resolution for operators
Дата
Msg-id 29677.973703322@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Type resolution for operators  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> Thomas Lockhart writes:
>> select int '1' = '01';
>> which, btw, returns 'true'.

> Uh, how can an integer be equal to a character value?  Where did the type
> system go?

Nowhere.  This is the same behavior as that statement had in 7.0 (and
many versions before, I believe): given "int4-constant operator
unknown-constant", the unknown constant is preferentially resolved to
int4.

Now if you say

select int '1' = text '01';

you should and do get

ERROR:  Unable to identify an operator '=' for types 'int4' and 'text'       You will have to retype this query using
anexplicit cast
 

But this change is *not* to rip out the concept of unknown-type
constants entirely, only to fall back to treating them as text
*after* all else fails.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Type resolution for operators
Следующее
От: "Trewern, Ben"
Дата:
Сообщение: V7.0.3 Released! - According to ZDNet