Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4bc6346

Browse files
author
Amit Kapila
committed
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 reachBTPARALLEL_DONE state once for every distinct combination of array keys.This is required to ensure that the parallel workers don't try to seizeblocks at the same time for different scan keys. We missed to update thisstate when we discovered that the scan keys can't be satisfied.Author: James HunterReviewed-by: Amit KapilaTested-by: Justin PryzbyBackpatch-through: 10, where it was introducedDiscussion:https://postgr.es/m/4248CABC-25E3-4809-B4D0-128E1BAABC3C@amazon.com
1 parent511690e commit4bc6346

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

‎src/backend/access/nbtree/nbtsearch.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,11 @@ _bt_first(IndexScanDesc scan, ScanDirection dir)
778778
* never be satisfied (eg, x == 1 AND x > 2).
779779
*/
780780
if (!so->qual_ok)
781+
{
782+
/* Notify any other workers that we're done with this scan key. */
783+
_bt_parallel_done(scan);
781784
return false;
785+
}
782786

783787
/*
784788
* For parallel scans, get the starting page from shared state. If the

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp