postgresql/src/include
Alvaro Herrera f3ff7bf83b
Add XLogCtl->logInsertResult
This tracks the position of WAL that's been fully copied into WAL
buffers by all processes emitting WAL.  (For some reason we call that
"WAL insertion").  This is updated using atomic monotonic advance during
WaitXLogInsertionsToFinish, which is not when the insertions actually
occur, but it's the only place where we know where have all the
insertions have completed.

This value is useful in WALReadFromBuffers, which can verify that
callers don't try to read past what has been inserted.  (However, more
infrastructure is needed in order to actually use WAL after the flush
point, since it could be lost.)

The value is also useful in WaitXLogInsertionsToFinish() itself, since
we can now exit quickly when all WAL has been already inserted, without
even having to take any locks.
2024-04-07 14:06:30 +02:00
..
access BitmapHeapScan: Push skip_fetch optimization into table AM 2024-04-07 00:24:14 +02: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 Implement pg_wal_replay_wait() stored procedure 2024-04-02 22:48:03 +03:00
commands Clarify what is protected by WaitLSNLock 2024-04-07 00:49:53 +03:00
common Speed up tail processing when hashing aligned C strings, take two 2024-04-06 17:14:28 +07:00
datatype Update copyright for 2024 2024-01-03 20:49:05 -05:00
executor Add TupleTableSlotOps.is_current_xact_tuple() method 2024-03-21 23:00:43 +02:00
fe_utils Allow dbname to be written as part of connstring via pg_basebackup's -R option. 2024-03-21 10:50:33 +05:30
foreign Generalize relation analyze in table AM interface 2024-03-30 22:34:04 +02:00
jit jit: Require at least LLVM 10. 2024-01-25 15:42:34 +13:00
lib Use the pairing heap instead of a flat array for LSN replay waiters 2024-04-03 18:15:41 +03:00
libpq Make libpqsrv_cancel's return const char *, not char * 2024-04-05 18:23:10 +02:00
mb Inline basic UTF-8 functions. 2024-03-20 09:40:57 -07:00
nodes Introduce a bump memory allocator 2024-04-08 00:02:43 +12:00
optimizer Fix assert failure when planning setop subqueries with CTEs 2024-04-02 12:15:45 +13:00
parser Implement ALTER TABLE ... SPLIT PARTITION ... command 2024-04-07 01:18:44 +03:00
partitioning Implement ALTER TABLE ... SPLIT PARTITION ... command 2024-04-07 01:18:44 +03:00
pch Update copyright for 2024 2024-01-03 20:49:05 -05:00
port Add XLogCtl->logInsertResult 2024-04-07 14:06:30 +02:00
portability Update copyright for 2024 2024-01-03 20:49:05 -05:00
postmaster Move code for backend startup to separate file 2024-03-18 11:38:10 +02:00
regex Update copyright for 2024 2024-01-03 20:49:05 -05:00
replication Ensure that the sync slots reach a consistent state after promotion without losing data. 2024-04-03 14:04:59 +05:30
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 Update copyright for 2024 2024-01-03 20:49:05 -05:00
storage Use an LWLock instead of a spinlock in waitlsn.c 2024-04-07 00:49:53 +03:00
tcop Invent SERIALIZE option for EXPLAIN. 2024-04-03 17:41:57 -04:00
tsearch Update copyright for 2024 2024-01-03 20:49:05 -05:00
utils Introduce a bump memory allocator 2024-04-08 00:02:43 +12:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
Makefile Put genbki.pl output into src/include/catalog/ directly 2024-03-14 07:11:21 +01:00
c.h Add macro to disable address safety instrumentation 2024-04-06 12:20:40 +07:00
fmgr.h Update copyright for 2024 2024-01-03 20:49:05 -05: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
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
miscadmin.h Remove assertions that some compiler say are tautological 2024-03-20 09:14:51 +02:00
pg_config.h.in Optimize pg_popcount() with AVX-512 instructions. 2024-04-06 21:56:23 -05:00
pg_config_ext.h.in
pg_config_ext.h.meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
pg_config_manual.h Introduce a non-recursive JSON parser 2024-04-04 06:46:40 -04: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 Update copyright for 2024 2024-01-03 20:49:05 -05: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 Replace calls to pg_qsort() with the qsort() macro. 2024-02-16 11:37:50 -06:00
postgres.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
postgres_ext.h Move RelFileNumber declarations to common/relpath.h. 2022-09-27 12:01:57 -04: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