Re: polymorphic types - enforce casting to most common type automatically - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: polymorphic types - enforce casting to most common type automatically
Date
Msg-id 55AF5649.9080503@iki.fi
Whole thread Raw
In response to Re: polymorphic types - enforce casting to most common type automatically  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: polymorphic types - enforce casting to most common type automatically  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
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.
- Heikki




pgsql-hackers by date:

Previous
From: Kouhei Kaigai
Date:
Subject: Re: Asynchronous execution on FDW
Next
From: Etsuro Fujita
Date:
Subject: Re: fdw_scan_tlist for foreign table scans breaks EPQ testing, doesn't it?