aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/commit_ts.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-12-16 15:36:02 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-12-16 15:36:02 -0500
commite1fd61c8cea76f1abca8d9a790f2188534724703 (patch)
tree2db6d0fd868010e9493c1ae4520ab88f9c2e62de /src/backend/access/transam/commit_ts.c
parentf04aa65daf597e2f9eb1e79c553c62adbbe3b897 (diff)
downloadpostgresql-e1fd61c8cea76f1abca8d9a790f2188534724703.tar.gz
postgresql-e1fd61c8cea76f1abca8d9a790f2188534724703.zip
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
Diffstat (limited to 'src/backend/access/transam/commit_ts.c')
0 files changed, 0 insertions, 0 deletions