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

Function translate_join

prqlc/prqlc/src/sql/gen_query.rs:406–424  ·  view source on GitHub ↗
(
    (side, with, filter): (JoinSide, RelationExpr, Expr),
    ctx: &mut Context,
)

Source from the content-addressed store, hash-verified

404}
405
406fn translate_join(
407 (side, with, filter): (JoinSide, RelationExpr, Expr),
408 ctx: &mut Context,
409) -> Result<Join> {
410 let relation = translate_relation_expr(with, ctx)?;
411
412 let constraint = JoinConstraint::On(translate_expr(filter, ctx)?.into_ast());
413
414 Ok(Join {
415 relation,
416 join_operator: match side {
417 JoinSide::Inner => JoinOperator::Inner(constraint),
418 JoinSide::Left => JoinOperator::LeftOuter(constraint),
419 JoinSide::Right => JoinOperator::RightOuter(constraint),
420 JoinSide::Full => JoinOperator::FullOuter(constraint),
421 },
422 global: false,
423 })
424}
425
426fn translate_cte(cte: Cte, ctx: &mut Context) -> Result<(sql_ast::Cte, bool)> {
427 let decl = ctx.anchor.lookup_table_decl(&cte.tid).unwrap();

Callers 1

Calls 3

translate_relation_exprFunction · 0.85
translate_exprFunction · 0.85
into_astMethod · 0.80

Tested by

no test coverage detected