postgresql/src/backend
Alexander Korotkov 309765fa1e Fix handling of empty uncompressed posting list pages in GIN
PostgreSQL 9.4 introduces posting list compression in GIN.  This feature
supports online upgrade, so that after pg_upgrade uncompressed posting
lists are compressed on-the-fly.  Underlying code appears to always
expect at least one item on uncompressed posting list page.  But there
could be completely empty pages, because VACUUM never deletes leftmost
and rightmost pages from posting trees.  This commit fixes that.

Reported-by: Sivasubramanian Ramasubramanian
Discussion: https://postgr.es/m/1531867212836.63354%40amazon.com
Author: Sivasubramanian Ramasubramanian, Alexander Korotkov
Backpatch-through: 9.4
2018-07-19 21:04:17 +03:00
..
access Fix handling of empty uncompressed posting list pages in GIN 2018-07-19 21:04:17 +03:00
bootstrap Use a ResourceOwner to track buffer pins in all cases. 2018-07-18 12:15:16 -04:00
catalog Fix argument of pg_create_logical_replication_slot for slot name 2018-07-13 09:32:12 +09:00
commands Drop the rule against included index columns duplicating key columns. 2018-07-18 14:43:03 -04:00
executor Rephrase a few comments for clarity. 2018-07-19 16:08:09 +03:00
foreign Remove bogus "extern" annotations on function definitions. 2018-02-19 12:07:44 -05:00
jit Fix more wrong paths in header comments 2018-07-11 17:57:04 +03:00
lib doc: Update redirecting links 2018-07-16 10:48:05 +02:00
libpq Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
main Update copyright for 2018 2018-01-02 23:30:12 -05:00
nodes Expand run-time partition pruning to work with MergeAppend 2018-07-19 13:49:43 +03:00
optimizer Expand run-time partition pruning to work with MergeAppend 2018-07-19 13:49:43 +03:00
parser Fix misc typos, mostly in comments. 2018-07-18 16:17:32 +03:00
partitioning Fix partition pruning with IS [NOT] NULL clauses 2018-07-16 18:38:59 -04:00
po Translation updates 2018-06-25 12:37:18 +02:00
port Remove investigative code for can't-reattach-to-shared-memory errors. 2018-05-01 13:06:31 -04:00
postmaster Use a ResourceOwner to track buffer pins in all cases. 2018-07-18 12:15:16 -04:00
regex Clean up warnings from -Wimplicit-fallthrough. 2018-05-01 19:35:08 -04:00
replication Use a ResourceOwner to track buffer pins in all cases. 2018-07-18 12:15:16 -04:00
rewrite Simplify view-expansion code in rewriteHandler.c. 2018-04-14 21:01:03 -04:00
snowball Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
statistics Fix bogus code for extracting extended-statistics data from syscache. 2018-05-02 12:23:00 -04:00
storage Fix inadequate buffer locking in FSM and VM page re-initialization. 2018-07-13 11:53:10 -04:00
tcop Add UtilityReturnsTuples() support for CALL 2018-07-09 13:58:08 +02:00
tsearch Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
utils Use a ResourceOwner to track buffer pins in all cases. 2018-07-18 12:15:16 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
Makefile Rearrange makefile rules for running Gen_fmgrtab.pl. 2018-05-03 17:54:18 -04:00
nls.mk Translation updates 2018-06-25 12:37:18 +02:00