Re: Boolean casting in 7.3 -> changed?
От | Tom Lane |
---|---|
Тема | Re: Boolean casting in 7.3 -> changed? |
Дата | |
Msg-id | 14419.1038374595@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Boolean casting in 7.3 -> changed? (Ian Barwick <barwick@gmx.net>) |
Ответы |
Re: Boolean casting in 7.3 -> changed?
|
Список | pgsql-hackers |
Ian Barwick <barwick@gmx.net> writes: > in 7.3 the following no longer works: > template1=> select 0::bool; > ERROR: Cannot cast type integer to boolean Note that both old and new versions rejectselect 0::int4::bool; I believe the behavioral change is a consequence of Rod Taylor's DOMAIN patch: it essentially eliminated the old parser_typecast_constant() routine in order to ensure that constraints associated with a domain would get applied in examples like "select 0::domaintypename". I wasn't totally happy with Rod's patch, for reasons that I couldn't put my finger on at the time, but perhaps my hindbrain understood that there would be noticeable behavioral changes. But be that as it may, the code is in there now and is unlikely to get reverted. There isn't any place in our docs that promises that you can coerce an integer-looking literal to bool --- and one could argue that allowing such is just opening the door for typos. regards, tom lane
В списке pgsql-hackers по дате отправления: