Package org.apache.druid.segment.join
Class HashJoinEngine
- java.lang.Object
-
- org.apache.druid.segment.join.HashJoinEngine
-
public class HashJoinEngine extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Cursor
makeJoinCursor(Cursor leftCursor, JoinableClause joinableClause, boolean descending, Closer closer)
Creates a cursor that represents the join of {@param leftCursor} with {@param joinableClause}.
-
-
-
Method Detail
-
makeJoinCursor
public static Cursor makeJoinCursor(Cursor leftCursor, JoinableClause joinableClause, boolean descending, Closer closer)
Creates a cursor that represents the join of {@param leftCursor} with {@param joinableClause}. The resulting cursor may generate nulls on the left-hand side (for righty joins; seeJoinType.isRighty()
) or on the right-hand side (for lefty joins; seeJoinType.isLefty()
). Columns that start with the joinable clause's prefix (seeJoinableClause.getPrefix()
) will come from the Joinable's column selector factory, and all other columns will come from the leftCursor's column selector factory. Ensuring that the joinable clause's prefix does not conflict with any columns from "leftCursor" is the responsibility of the caller. If there is such a conflict (for example, if the joinable clause's prefix is "j.", and the leftCursor has a field named "j.j.abrams"), then the field from the leftCursor will be shadowed and will not be queryable through the returned Cursor. This happens even if the right-hand joinable doesn't actually have a column with this name.
-
-