postgresql/src/include
Amit Kapila 87ce27de69 Ensure stored generated columns must be published when required.
Ensure stored generated columns that are part of REPLICA IDENTITY must be
published explicitly for UPDATE and DELETE operations to be published. We
can publish generated columns by listing them in the column list or by
enabling the publish_generated_columns option.

This commit changes the behavior of the test added in commit adedf54e65 by
giving an ERROR for the UPDATE operation in such cases. There is no way to
trigger the bug reported in commit adedf54e65 but we didn't remove the
corresponding code change because it is still relevant when replicating
changes from a publisher with version less than 18.

We decided not to backpatch this behavior change to avoid the risk of
breaking existing output plugins that may be sending generated columns by
default although we are not aware of any such plugin. Also, we didn't see
any reports related to this on STABLE branches which is another reason not
to backpatch this change.

Author: Shlok Kyal, Hou Zhijie
Reviewed-by: Vignesh C, Amit Kapila
Discussion: https://postgr.es/m/CANhcyEVw4V2Awe2AB6i0E5AJLNdASShGfdBLbUd1XtWDboymCA@mail.gmail.com
2024-12-04 09:45:18 +05:30
..
access Revert "Introduce CompactAttribute array in TupleDesc" 2024-12-03 17:12:38 +13:00
archive Add macro for customizing an archiving WARNING message. 2024-03-04 15:41:42 -06:00
backup Align blocks in incremental backups to BLCKSZ 2024-04-05 16:30:01 +02:00
bootstrap Update copyright for 2024 2024-01-03 20:49:05 -05:00
catalog Ensure stored generated columns must be published when required. 2024-12-04 09:45:18 +05:30
commands Ensure stored generated columns must be published when required. 2024-12-04 09:45:18 +05:30
common Remove useless casts to (void *) 2024-11-28 08:27:20 +01:00
datatype Update copyright for 2024 2024-01-03 20:49:05 -05:00
executor Fix NULLIF()'s handling of read-write expanded objects. 2024-11-25 18:09:09 -05:00
fe_utils pg_verifybackup: Verify tar-format backups. 2024-09-27 08:40:24 -04:00
foreign Clean up more indent breakage from 6377e12a5. 2024-04-16 13:00:40 -04:00
jit jit: Remove obsolete LLVM version guard. 2024-11-11 12:07:24 +13:00
lib Revert pg_wal_replay_wait() stored procedure 2024-11-04 22:47:57 +02:00
libpq Deprecate MD5 passwords. 2024-12-02 13:30:07 -06:00
mb Inline basic UTF-8 functions. 2024-03-20 09:40:57 -07:00
nodes Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
optimizer Reordering DISTINCT keys to match input path's pathkeys 2024-11-26 09:25:18 +09:00
parser Track more precisely query locations for nested statements 2024-10-24 09:29:54 +09:00
partitioning Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands 2024-08-24 18:48:48 +03:00
pch Update copyright for 2024 2024-01-03 20:49:05 -05:00
port Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
portability Fix datatypes in comments in instr_time.h 2024-08-06 22:15:55 +03:00
postmaster Pass MyPMChildSlot as an explicit argument to child process 2024-11-14 16:12:32 +02:00
regex Avoid assertion due to disconnected NFA sub-graphs in regex parsing. 2024-11-15 18:23:38 -05:00
replication Fix wording in comment 2024-11-28 15:17:49 +01:00
rewrite Support MERGE into updatable views. 2024-02-29 15:56:59 +00:00
snowball Update copyright for 2024 2024-01-03 20:49:05 -05:00
statistics Add functions pg_restore_relation_stats(), pg_restore_attribute_stats(). 2024-10-24 12:08:00 -07:00
storage Improve InitShmemAccess() prototype 2024-11-26 08:46:22 +01:00
tcop Restrict accesses to non-system views and foreign tables during pg_dump. 2024-08-05 06:05:33 -07:00
tsearch Constify fields and parameters in spell.c 2024-08-06 23:04:51 +03:00
utils Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
.gitignore Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
c.h Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
fmgr.h Remove _PG_fini() 2024-08-21 07:24:03 +09:00
funcapi.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
getopt_long.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
Makefile Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
meson.build Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
miscadmin.h Replace postmaster.c's own backend type codes with BackendType 2024-11-14 16:06:16 +02:00
pg_config.h.in Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
pg_config_manual.h Add prefetching support on macOS 2024-08-28 07:28:27 +02:00
pg_getopt.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_trace.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pgstat.h Add two attributes to pg_stat_database for parallel workers activity 2024-11-11 10:40:48 +09:00
pgtar.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pgtime.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
port.h More use of getpwuid_r() directly 2024-09-02 09:04:30 +02:00
postgres.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
postgres_ext.h Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
postgres_fe.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
varatt.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
windowapi.h Update copyright for 2024 2024-01-03 20:49:05 -05:00