Re: Remove configure --disable-float4-byval and --disable-float8-byval
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-11-02T07:46:12Z
Lists: pgsql-hackers
On 2019-11-01 15:41, Robert Haas wrote: > On a related note, why do we store typbyval in the catalog anyway > instead of inferring it from typlen and maybe typalign? It seems like > a bad idea to record on disk the way we pass around values in memory, > because it means that a change to how values are passed around in > memory has ramifications for on-disk compatibility. This sounds interesting. It would remove a pg_upgrade hazard (in the long run). There is some backward compatibility to be concerned about. This change would require extension authors to change their code to insert #ifdef USE_FLOAT8_BYVAL or similar, where currently their code might only support one method or the other. > rhaas=# select typname, typlen, typbyval, typalign from pg_type where > typlen in (1,2,4,8) != typbyval; There are also typlen=6 types. Who knew. ;-) > typname | typlen | typbyval | typalign > ----------+--------+----------+---------- > macaddr8 | 8 | f | i > (1 row) This might be a case of the above issue: It's easier to just make it pass by reference always than deal with a bunch of #ifdefs. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Move configure --disable-float8-byval to pg_config_manual.h
- 4513d8b07bf3 13.0 landed
-
Remove configure --disable-float4-byval
- 2e4db241bfd3 13.0 landed