postgresql/src
Tom Lane e1fd61c8ce Ensure casting to typmod -1 generates a RelabelType.
Fix the code changed by commit 5c056b0c2 so that we always generate
RelabelType, not something else, for a cast to unspecified typmod.
Otherwise planner optimizations might not happen.

It appears we missed this point because the previous experiments were
done on type numeric: the parser undesirably generates a call on the
numeric() length-coercion function, but then numeric_support()
optimizes that down to a RelabelType, so that everything seems fine.
It misbehaves for types that have a non-optimized length coercion
function, such as bpchar.

Per report from John Naylor.  Back-patch to all supported branches,
as the previous patch eventually was.  Unfortunately, that no longer
includes 9.6 ... we really shouldn't put this type of change into a
nearly-EOL branch.

Discussion: https://postgr.es/m/CAFBsxsEfbFHEkouc+FSj+3K1sHipLPbEC67L0SAe-9-da8QtYg@mail.gmail.com
2021-12-16 15:36:02 -05:00
..
backend Ensure casting to typmod -1 generates a RelabelType. 2021-12-16 15:36:02 -05:00
bin Move into separate file all the SQL queries used in pg_upgrade tests 2021-12-02 10:31:37 +09:00
common Fix buffer overrun in unicode string normalization with empty input 2021-11-11 15:01:57 +09:00
fe_utils Fix incautious handling of possibly-miscoded strings in client code. 2021-06-07 14:15:25 -04:00
include Harden be-gssapi-common.h for headerscheck 2021-11-26 17:00:29 -03:00
interfaces backpatch "Set application_name per-test in isolation and ecpg tests." 2021-12-13 11:39:52 -08:00
makefiles Select CFLAGS_SL at configure time, not in platform-specific Makefiles. 2019-10-21 12:32:35 -04:00
pl Remove unneeded Python includes 2021-11-25 14:31:01 +01:00
port Stamp 12.9. 2021-11-08 17:02:19 -05:00
template Further tweaking of PG_SYSROOT heuristics for macOS. 2021-01-20 12:07:35 -05:00
test Ensure casting to typmod -1 generates a RelabelType. 2021-12-16 15:36:02 -05:00
timezone Update time zone data files to tzdata release 2021e. 2021-10-29 11:38:47 -04:00
tools Adjust behavior of some env settings for the TAP tests of MSVC 2021-12-15 10:40:15 +09:00
tutorial tutorial: land height is "elevation", not "altitude" 2021-03-10 20:25:18 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Fix prove_installcheck to use correct paths when used with PGXS 2021-07-01 08:47:04 -04:00
Makefile.shlib Fix pkg-config files for static linking 2021-09-06 09:43:18 +02:00
nls-global.mk NLS: Fix backend gettext triggers 2019-09-23 09:05:50 +02:00