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

Commit9c75e1a

Browse files
committed
Forbid parallel Hash Right Join or Hash Full Join.
That won't work. You'll get bogus null-extended rows.Mithun Cy
1 parentcfb863f commit9c75e1a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

‎src/backend/optimizer/path/joinpath.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,10 +1450,14 @@ hash_inner_and_outer(PlannerInfo *root,
14501450
* If the joinrel is parallel-safe, we may be able to consider a
14511451
* partial hash join. However, we can't handle JOIN_UNIQUE_OUTER,
14521452
* because the outer path will be partial, and therefore we won't be
1453-
* able to properly guarantee uniqueness. Also, the resulting path
1454-
* must not be parameterized.
1453+
* able to properly guarantee uniqueness. Similarly, we can't handle
1454+
* JOIN_FULL and JOIN_RIGHT, because they can produce false null
1455+
* extended rows. Also, the resulting path must not be parameterized.
14551456
*/
1456-
if (joinrel->consider_parallel&&jointype!=JOIN_UNIQUE_OUTER&&
1457+
if (joinrel->consider_parallel&&
1458+
jointype!=JOIN_UNIQUE_OUTER&&
1459+
jointype!=JOIN_FULL&&
1460+
jointype!=JOIN_RIGHT&&
14571461
outerrel->partial_pathlist!=NIL&&
14581462
bms_is_empty(joinrel->lateral_relids))
14591463
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp