MCPcopy Create free account
hub / github.com/PRQL/prql / fold_sql_relation

Method fold_sql_relation

prqlc/prqlc/src/sql/pq/postprocess.rs:469–484  ·  view source on GitHub ↗
(&mut self, relation: SqlRelation)

Source from the content-addressed store, hash-verified

467
468impl PqFold for RelVarNameAssigner<'_> {
469 fn fold_sql_relation(&mut self, relation: SqlRelation) -> Result<SqlRelation> {
470 // only fold AtomicPipelines
471 Ok(match relation {
472 SqlRelation::AtomicPipeline(pipeline) => {
473 // save outer names, so they are not affected by the inner pipeline
474 // (this matters for loop, where you have nested pipelines)
475 let outer_names = std::mem::take(&mut self.relation_instance_names);
476
477 let res = self.fold_sql_transforms(pipeline)?;
478
479 self.relation_instance_names = outer_names;
480 SqlRelation::AtomicPipeline(res)
481 }
482 _ => relation,
483 })
484 }
485}
486
487impl PqMapper<RelationExpr, RelationExpr, (), ()> for RelVarNameAssigner<'_> {

Callers 3

fold_sql_queryMethod · 0.45
fold_sql_transformsMethod · 0.45
fold_relMethod · 0.45

Calls 1

fold_sql_transformsMethod · 0.45

Tested by

no test coverage detected