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

Method sql_values_to_plan

datafusion/sql/src/values.rs:26–59  ·  view source on GitHub ↗
(
        &self,
        values: SQLValues,
        planner_context: &mut PlannerContext,
    )

Source from the content-addressed store, hash-verified

24
25impl<S: ContextProvider> SqlToRel<'_, S> {
26 pub(super) fn sql_values_to_plan(
27 &self,
28 values: SQLValues,
29 planner_context: &mut PlannerContext,
30 ) -> Result<LogicalPlan> {
31 let SQLValues {
32 explicit_row: _,
33 rows,
34 value_keyword,
35 } = values;
36 if value_keyword {
37 return not_impl_err!(
38 "`VALUE` keyword not supported. Did you mean `VALUES`?"
39 )?;
40 }
41
42 let empty_schema = Arc::new(DFSchema::empty());
43 let values = rows
44 .into_iter()
45 .map(|row| {
46 row.content
47 .into_iter()
48 .map(|v| self.sql_to_expr(v, &empty_schema, planner_context))
49 .collect::<Result<Vec<_>>>()
50 })
51 .collect::<Result<Vec<_>>>()?;
52
53 let schema = planner_context.table_schema().unwrap_or(empty_schema);
54 if schema.fields().is_empty() {
55 LogicalPlanBuilder::values(values)?.build()
56 } else {
57 LogicalPlanBuilder::values_with_schema(values, &schema)?.build()
58 }
59 }
60}

Callers 1

set_expr_to_planMethod · 0.80

Calls 9

newFunction · 0.85
emptyFunction · 0.50
mapMethod · 0.45
into_iterMethod · 0.45
sql_to_exprMethod · 0.45
table_schemaMethod · 0.45
is_emptyMethod · 0.45
fieldsMethod · 0.45
buildMethod · 0.45

Tested by

no test coverage detected