Update parallel BTree scan state when the scan keys can't be satisfied.
authorAmit Kapila <akapila@postgresql.org>
Thu, 17 Sep 2020 09:46:46 +0000 (15:16 +0530)
committerAmit Kapila <akapila@postgresql.org>
Thu, 17 Sep 2020 10:41:48 +0000 (16:11 +0530)
commitb7f2dd959a5082540adbeee1dea0c0b1c154374f
treed2fe9c9173715e0e31c4a83e1b4341c82fcb8f57
parent45b9805706fdc726906fc9187c9a7b38c559755c
Update parallel BTree scan state when the scan keys can't be satisfied.

For parallel btree scan to work for array of scan keys, it should reach
BTPARALLEL_DONE state once for every distinct combination of array keys.
This is required to ensure that the parallel workers don't try to seize
blocks at the same time for different scan keys. We missed to update this
state when we discovered that the scan keys can't be satisfied.

Author: James Hunter
Reviewed-by: Amit Kapila
Tested-by: Justin Pryzby
Backpatch-through: 10, where it was introduced
Discussion: https://postgr.es/m/4248CABC-25E3-4809-B4D0-128E1BAABC3C@amazon.com
src/backend/access/nbtree/nbtsearch.c