MCPcopy Create free account
hub / github.com/apache/datafusion / plan_table_with_joins

Method plan_table_with_joins

datafusion/sql/src/relation/join.rs:27–44  ·  view source on GitHub ↗
(
        &self,
        t: TableWithJoins,
        planner_context: &mut PlannerContext,
    )

Source from the content-addressed store, hash-verified

25
26impl<S: ContextProvider> SqlToRel<'_, S> {
27 pub(crate) fn plan_table_with_joins(
28 &self,
29 t: TableWithJoins,
30 planner_context: &mut PlannerContext,
31 ) -> Result<LogicalPlan> {
32 let mut left = if is_lateral(&t.relation) {
33 self.create_relation_subquery(t.relation, planner_context)?
34 } else {
35 self.create_relation(t.relation, planner_context)?
36 };
37 let old_outer_from_schema = planner_context.outer_from_schema();
38 for join in t.joins {
39 planner_context.extend_outer_from_schema(left.schema())?;
40 left = self.parse_relation_join(left, join, planner_context)?;
41 }
42 planner_context.set_outer_from_schema(old_outer_from_schema);
43 Ok(left)
44 }
45
46 pub(crate) fn parse_relation_join(
47 &self,

Callers 2

plan_from_tablesMethod · 0.80

Calls 8

is_lateralFunction · 0.85
create_relationMethod · 0.80
outer_from_schemaMethod · 0.80
parse_relation_joinMethod · 0.80
set_outer_from_schemaMethod · 0.80
schemaMethod · 0.45

Tested by

no test coverage detected