postgresql/src/backend
Peter Geoghegan caca6d8d27 Assert consistency of currPage that ended scan.
When _bt_readnextpage is called with our nbtree parallel scan already
seized (i.e. when it is directly called by _bt_first), we never expect a
prior call to _bt_readpage for lastcurrblkno to already indicate that
the scan should end -- the _bt_first caller's blkno must always be read.
After all, the "prior" _bt_readpage call (the call for lastcurrblkno)
probably took place in some other backend (and it might not even have
finished by the time our backend reaches _bt_first/_bt_readnextpage).

Add a documenting assertion to the path where _bt_readnextpage ends the
parallel scan based on information about lastcurrblkno from so->currPos.
Assert that the most recent _bt_readpage call that set so->currPos is in
fact lastcurrblkno's _bt_readpage call.

Follow-up to bugfix commit b5ee4e52.
2024-11-08 16:34:41 -05:00
..
access Assert consistency of currPage that ended scan. 2024-11-08 16:34:41 -05:00
archive Apply more quoting to GUC names in messages 2024-09-04 13:50:44 +09:00
backup Remove unused #include's from backend .c files 2024-10-27 08:26:50 +01:00
bootstrap Increase the number of fast-path lock slots 2024-09-21 20:09:35 +02:00
catalog Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
commands Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
executor Improve fix for not entering parallel mode when holding interrupts. 2024-11-08 13:42:10 -05:00
foreign Improve style of two code paths 2024-10-08 10:51:20 +09:00
jit Monkey-patch LLVM code to fix ARM relocation bug. 2024-11-06 23:17:18 +13:00
lib Revert pg_wal_replay_wait() stored procedure 2024-11-04 22:47:57 +02:00
libpq Remove unused #include's from backend .c files 2024-10-27 08:26:50 +01:00
main Remove unused #include's from backend .c files 2024-10-27 08:26:50 +01:00
nodes Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
optimizer Improve fix for not entering parallel mode when holding interrupts. 2024-11-08 13:42:10 -05:00
parser Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
partitioning Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands 2024-08-24 18:48:48 +03:00
po Translation updates 2024-06-24 13:11:27 +02:00
port Require memory barrier support. 2024-07-30 23:01:55 +12:00
postmaster Rename two functions that wake up other processes 2024-11-01 13:47:24 +02:00
regex Simplify checks for deterministic collations. 2024-09-12 13:35:56 -07:00
replication Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
rewrite Fix unnecessary casts of copyObject() result 2024-10-17 08:36:48 +02:00
snowball Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
statistics Add missing CommandCounterIncrement() in stats import functions. 2024-10-29 10:14:23 -07:00
storage Revert pg_wal_replay_wait() stored procedure 2024-11-04 22:47:57 +02:00
tcop doc: Remove event trigger firing matrix 2024-11-06 13:43:17 +01:00
tsearch Constify fields and parameters in spell.c 2024-08-06 23:04:51 +03:00
utils Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
.gitignore
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
Makefile Fix make build on MinGW 2024-06-21 08:17:23 +02:00
meson.build meson: Fix import library name in Windows 2024-06-20 09:08:36 +02:00
nls.mk Add missing gettext triggers 2024-05-14 12:57:22 +02:00