diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-07-20 15:54:24 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-07-20 15:54:24 -0400 |
commit | 798b4faefd205a8527afb82c9a87a419d2e06098 (patch) | |
tree | d26c315bf6cd0e7f98c29f6b9ef648d369c47700 /src/common/file_utils.c | |
parent | 71e561bd4bc2d6e85f9a1ae8064d8b190dcad2b4 (diff) | |
download | postgresql-798b4faefd205a8527afb82c9a87a419d2e06098.tar.gz postgresql-798b4faefd205a8527afb82c9a87a419d2e06098.zip |
Kluge slot_compile_deform() to ignore incorrect attnotnull markings.
Since we mustn't force an initdb in released branches, there is no
simple way to correct the markings of pg_subscription.subslotname
and pg_subscription_rel.srsublsn as attnotnull in existing pre-v13
installations.
Fortunately, released branches don't rely on attnotnull being correct
for much. The planner looks at it in relation_excluded_by_constraints,
but it'd be difficult to get that to matter for a query on a system
catalog. The only place where it's really problematic is in JIT's
slot_compile_deform(), which can produce incorrect code that crashes
if there are NULLs in an allegedly not-null column.
Hence, hack up slot_compile_deform() to be specifically aware of
these two incorrect markings and not trust them.
This applies to v11 and v12; the JIT code didn't exist before that,
and we've fixed the markings in v13.
Discussion: https://postgr.es/m/229396.1595191345@sss.pgh.pa.us
Diffstat (limited to 'src/common/file_utils.c')
0 files changed, 0 insertions, 0 deletions