From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: polymorphic types - enforce casting to most common type automatically |
Date: | 2015-07-22 08:37:29 |
Message-ID: | 55AF5649.9080503@iki.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 07/11/2015 12:19 AM, Pavel Stehule wrote:
> 2015-07-10 18:43 GMT+02:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Etsuro Fujita | 2015-07-22 10:05:05 | Re: fdw_scan_tlist for foreign table scans breaks EPQ testing, doesn't it? |
Previous Message | Kouhei Kaigai | 2015-07-22 08:25:23 | Re: Asynchronous execution on FDW |