postgresql/src/backend
Tom Lane bca409e5b1 Assert that we don't insert nulls into attnotnull catalog columns.
The executor checks for this error, and so does the bootstrap catalog
loader, but we never checked for it in retail catalog manipulations.
The folly of that has now been exposed, so let's add assertions
checking it.  Checking in CatalogTupleInsert[WithInfo] and
CatalogTupleUpdate[WithInfo] should be enough to cover this.

Back-patch to v10; the aforesaid functions didn't exist before that,
and it didn't seem worth adapting the patch to the oldest branches.
But given the risk of JIT crashes, I think we certainly need this
as far back as v11.

Pre-v13, we have to explicitly exclude pg_subscription.subslotname
and pg_subscription_rel.srsublsn from the checks, since they are
mismarked.  (Even if we change our mind about applying BKI_FORCE_NULL
in the branch tips, it doesn't seem wise to have assertions that
would fire in existing databases.)

Discussion: https://postgr.es/m/298837.1595196283@sss.pgh.pa.us
2020-07-21 12:38:08 -04:00
..
access Rename wal_keep_segments to wal_keep_size. 2020-07-20 13:33:45 +09:00
bootstrap Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
catalog Assert that we don't insert nulls into attnotnull catalog columns. 2020-07-21 12:38:08 -04:00
commands Fix timing issue with ALTER TABLE's validate constraint 2020-07-14 16:57:41 +12:00
executor Fix minor typo in nodeIncrementalSort.c. 2020-07-20 07:54:04 +05:30
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit pgindent run prior to branching v13. 2020-06-07 16:57:08 -04:00
lib Move src/backend/utils/hash/hashfn.c to src/common 2020-02-27 09:25:41 +05:30
libpq Fix list of SSL error codes for older OpenSSL versions. 2020-06-27 13:26:30 -04:00
main Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nodes Reconcile nodes/*funcs.c. 2020-05-25 16:23:48 -07:00
optimizer Fix bitmap AND/OR scans on the inside of a nestloop partition-wise join. 2020-07-14 18:56:49 -04:00
parser part_strategy does not need its very own keyword classification. 2020-05-19 20:09:59 -04:00
partitioning Fix two typos in a comment 2020-05-22 17:39:16 -04:00
po Translation updates 2020-06-22 14:08:30 +02:00
port Spelling adjustments 2020-06-07 15:06:51 +02:00
postmaster pgindent run prior to branching v13. 2020-06-07 16:57:08 -04:00
regex Dial back -Wimplicit-fallthrough to level 3 2020-05-13 15:31:14 -04:00
replication Fix construction of updated-columns bitmap in logical replication. 2020-07-20 13:40:16 -04:00
rewrite Add missing invocations to object access hooks 2020-05-23 14:03:04 +09:00
snowball Update copyrights for 2020 2020-01-01 12:21:45 -05:00
statistics Run pgindent with new pg_bsd_indent version 2.1.1. 2020-05-16 11:54:51 -04:00
storage Fix temporary tablespaces for shared filesets some more. 2020-07-03 17:01:34 -04:00
tcop Spelling adjustments 2020-06-07 15:06:51 +02:00
tsearch Further cleanup of ts_headline code. 2020-04-09 15:38:43 -04:00
utils Rename wal_keep_segments to wal_keep_size. 2020-07-20 13:33:45 +09:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
nls.mk Add missing gettext triggers 2020-04-28 13:35:40 +02:00