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

Function visit_statement

datafusion/sql/src/resolve.rs:169–191  ·  view source on GitHub ↗
(statement: &DFStatement, visitor: &mut RelationVisitor)

Source from the content-addressed store, hash-verified

167}
168
169fn visit_statement(statement: &DFStatement, visitor: &mut RelationVisitor) -> Result<()> {
170 match statement {
171 DFStatement::Statement(s) => {
172 control_flow_to_result(s.as_ref().visit(visitor))?;
173 }
174 DFStatement::CreateExternalTable(table) => {
175 control_flow_to_result(visitor.insert_relation(&table.name))?;
176 }
177 DFStatement::CopyTo(CopyToStatement { source, .. }) => match source {
178 CopyToSource::Relation(table_name) => {
179 control_flow_to_result(visitor.insert_relation(table_name))?;
180 }
181 CopyToSource::Query(query) => {
182 control_flow_to_result(query.visit(visitor))?;
183 }
184 },
185 DFStatement::Explain(explain) => {
186 visit_statement(&explain.statement, visitor)?;
187 }
188 DFStatement::Reset(_) => {}
189 }
190 Ok(())
191}
192
193/// Collects all tables and views referenced in the SQL statement. CTEs are collected separately.
194/// This can be used to determine which tables need to be in the catalog for a query to be planned.

Callers 1

resolve_table_referencesFunction · 0.85

Calls 4

control_flow_to_resultFunction · 0.85
insert_relationMethod · 0.80
visitMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…