postgresql/src/backend/commands
Noah Misch 6db992833c Prevent excess SimpleLruTruncate() deletion.
Every core SLRU wraps around.  With the exception of pg_notify, the wrap
point can fall in the middle of a page.  Account for this in the
PagePrecedes callback specification and in SimpleLruTruncate()'s use of
said callback.  Update each callback implementation to fit the new
specification.  This changes SerialPagePrecedesLogically() from the
style of asyncQueuePagePrecedes() to the style of CLOGPagePrecedes().
(Whereas pg_clog and pg_serial share a key space, pg_serial is nothing
like pg_notify.)  The bug fixed here has the same symptoms and user
followup steps as 592a589a04.  Back-patch
to 9.5 (all supported versions).

Reviewed by Andrey Borodin and (in earlier versions) by Tom Lane.

Discussion: https://postgr.es/m/20190202083822.GC32531@gust.leadboat.com
2021-01-16 12:21:35 -08:00
..
aggregatecmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
alter.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
amcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
analyze.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
async.c Prevent excess SimpleLruTruncate() deletion. 2021-01-16 12:21:35 -08:00
cluster.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
collationcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
comment.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
constraint.c Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
conversioncmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
copy.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
copyfrom.c Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
copyfromparse.c Report progress of COPY commands 2021-01-06 21:51:06 +01:00
copyto.c Report progress of COPY commands 2021-01-06 21:51:06 +01:00
createas.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
dbcommands.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
define.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
discard.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
dropcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
event_trigger.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
explain.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
extension.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
foreigncmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
functioncmds.c Re-implement pl/pgsql's expression and assignment parsing. 2021-01-04 11:52:00 -05:00
indexcmds.c Avoid spurious wait in concurrent reindex 2021-01-15 10:31:42 -03:00
lockcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Split copy.c into four files. 2020-11-23 10:50:50 +02:00
matview.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
opclasscmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
operatorcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
policy.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
portalcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
prepare.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
proclang.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
publicationcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
schemacmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
seclabel.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
sequence.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
statscmds.c Disallow CREATE STATISTICS on system catalogs 2021-01-15 23:31:22 +01:00
subscriptioncmds.c Remove unnecessary pstrdup in fetch_table_list. 2021-01-16 10:15:32 +05:30
tablecmds.c Prevent drop of tablespaces used by partitioned relations 2021-01-14 15:32:14 -03:00
tablespace.c Prevent drop of tablespaces used by partitioned relations 2021-01-14 15:32:14 -03:00
trigger.c Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
tsearchcmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
typecmds.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
user.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
vacuum.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
variable.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
view.c Update copyright for 2021 2021-01-02 13:06:25 -05:00