Skip to content

[pixels-planner] incorrect join plan for single-pipeline broadcast join after complete broadcast chain join. #482

@bianhq

Description

@bianhq

For tpch-1g, when the column statistics are collected and the row counts for each table are 0, trino generates a join plan for q8 like this:

image

In pixels planner, the blue and green parts are converted to broadcast-chain-join 1 and 2, respectively.
The root of the join plan (red) is a large-left broadcast join, in which the left table is the join result of broadcast-chain-join 2.

However, pixels planner continues to add the root into broadcast-chain-join 2, replacing the right node broadcast-chain-join 1 with the base table part, and forming an incorrect physical join plan like this:

image

The three tables in broadcast-chain-join 1 of the original join plan are missing.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions