postgresql/src/backend/commands
Noah Misch f222349c4e Close race condition between datfrozen and relfrozen updates.
vac_update_datfrozenxid() did multiple loads of relfrozenxid and
relminmxid from buffer memory, and it assumed each would get the same
value.  Not so if a concurrent vac_update_relstats() did an inplace
update.  Commit 2d2e40e3be fixed the same
kind of bug in vac_truncate_clog().  Today's bug could cause the
rel-level field and XIDs in the rel's rows to precede the db-level
field.  A cluster having such values should VACUUM affected tables.
Back-patch to v12 (all supported versions).

Discussion: https://postgr.es/m/20240423003956.e7.nmisch@google.com
2024-04-29 10:25:00 -07:00
..
Makefile Move vacuumlazy.c into access/heap. 2019-01-15 12:06:19 -08:00
aggregatecmds.c Implement OR REPLACE option for CREATE AGGREGATE. 2019-03-19 01:16:50 +00:00
alter.c Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
amcmds.c Initial pgindent run for v12. 2019-05-22 12:55:34 -04:00
analyze.c Ensure acquire_inherited_sample_rows sets its output parameters. 2023-03-31 10:08:40 -04:00
async.c Prevent excess SimpleLruTruncate() deletion. 2021-01-16 12:21:39 -08:00
cluster.c Make relation-enumerating operations be security-restricted operations. 2022-05-09 08:35:12 -07:00
collationcmds.c Disallow creating an ICU collation if the DB encoding won't support it. 2021-09-03 16:38:55 -04:00
comment.c Remove superfluous tqual.h includes. 2019-01-21 12:15:02 -08:00
constraint.c Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
conversioncmds.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
copy.c Ensure we preprocess expressions before checking their volatility. 2023-11-16 10:05:14 -05:00
createas.c In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00
dbcommands.c Handle DROP DATABASE getting interrupted 2023-07-13 13:03:36 -07:00
define.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
discard.c Update copyright for 2019 2019-01-02 12:44:25 -05:00
dropcmds.c Revert "Forbid DROP SCHEMA on temporary namespaces" 2020-01-08 10:36:22 +09:00
event_trigger.c Fix use-after-free bug with event triggers and ALTER TABLE. 2020-10-27 15:37:13 -04:00
explain.c Fix index-only scan plans, take 2. 2022-01-03 15:42:27 -05:00
extension.c Reject substituting extension schemas or owners matching ["$'\]. 2023-08-07 06:06:00 -07:00
foreigncmds.c Silence compiler warning in release 11 and 12 branches 2023-08-27 07:04:23 -04:00
functioncmds.c Fix breakage in AlterFunction(). 2022-04-19 23:03:59 -04:00
indexcmds.c Check collation when creating partitioned index 2023-12-01 16:27:18 +01:00
lockcmds.c Revert "Accept relations of any kind in LOCK TABLE". 2020-11-06 16:17:57 -05:00
matview.c Fix assertion if index is dropped during REFRESH CONCURRENTLY 2024-02-05 11:04:23 +02:00
opclasscmds.c Fix DDL deparse of CREATE OPERATOR CLASS 2022-05-20 18:52:55 +02:00
operatorcmds.c Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
policy.c Remove unnecessary failure cases in RemoveRoleFromObjectPolicy(). 2021-06-25 13:59:38 -04:00
portalcmds.c Fix some anomalies with NO SCROLL cursors. 2021-09-10 13:18:32 -04:00
prepare.c Fix plancache refcount leak after error in ExecuteQuery. 2021-06-16 19:30:17 -04:00
proclang.c Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
publicationcmds.c Invalidate relcache for publications defined for all tables. 2021-09-08 12:16:15 +05:30
schemacmds.c Replace last PushOverrideSearchPath() call with set_config_option(). 2023-05-08 06:14:12 -07:00
seclabel.c Check criticalSharedRelcachesBuilt in GetSharedSecurityLabel(). 2021-10-14 12:25:07 -07:00
sequence.c In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00
statscmds.c Lock table in DROP STATISTICS 2023-11-19 21:04:47 +01:00
subscriptioncmds.c Fix the errhint message and docs for drop subscription failure. 2023-06-21 10:20:35 +05:30
tablecmds.c Fix failure of ALTER FOREIGN TABLE SET SCHEMA to move sequences. 2024-03-26 15:28:16 -04:00
tablespace.c Fix replay of create database records on standby 2022-07-28 08:26:05 +02:00
trigger.c Correct error message for row-level triggers with transition tables on partitioned tables. 2022-11-04 19:15:06 +09:00
tsearchcmds.c Fix various issues with ALTER TEXT SEARCH CONFIGURATION 2024-01-31 13:16:50 +09:00
typecmds.c Avoid scribbling on input node tree in CREATE/ALTER DOMAIN. 2021-06-18 12:09:22 -04:00
user.c Change some errdetail() to errdetail_internal() 2022-09-28 17:14:53 +02:00
vacuum.c Close race condition between datfrozen and relfrozen updates. 2024-04-29 10:25:00 -07:00
variable.c Fix some inappropriately-disallowed uses of ALTER ROLE/DATABASE SET. 2021-04-13 15:10:18 -04:00
view.c In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00