Re: polymorphic types - enforce casting to most common type automatically

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: polymorphic types - enforce casting to most common type automatically
Дата
Msg-id CAFj8pRASK21JKz-OOfE_1vL+5oh_DTj9aCUu9Y7Ru+PuW3V5OQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: polymorphic types - enforce casting to most common type automatically  (Heikki Linnakangas <hlinnaka@iki.fi>)
Список pgsql-hackers


2015-07-22 10:37 GMT+02:00 Heikki Linnakangas <hlinnaka@iki.fi>:
On 07/11/2015 12:19 AM, Pavel Stehule wrote:
2015-07-10 18:43 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:

An example of what would presumably happen if we adopted this sort of rule
(I've not checked whether the patch as written does this, but it would
logically follow) is that appending a float to an integer array would
cause the whole array to be silently promoted to float, with attendant
possible loss of precision for existing array elements.

it is based on select_common_type() - so it is use only available implicit
casts.

Without patch:

postgres=# select pg_typeof(array_append('{1,2,3}'::int[], 1.2::float));
ERROR:  function array_append(integer[], double precision) does not exist

With patch:

postgres=# select pg_typeof(array_append('{1,2,3}'::int[], 1.2::float));
     pg_typeof
--------------------
 double precision[]
(1 row)


Yeah, I agree with Tom that we don't want that change in behaviour. I'll mark this as rejected.

ok.

I accept it - it introduce incompatible changes.

Still I am sure, so this behave is some what users expect, but it should not be introduced this way.

Any ideas how this issues can be solved?

Regards

Pavel
 
- Heikki


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

Предыдущее
От: Marc Mamin
Дата:
Сообщение: Re: pg_dump -Fd and compression level
Следующее
От: Bill Moran
Дата:
Сообщение: Re: Anyone working on the TOAST items on the TODO list?