(ctx: CtxRef, input: ParseStream)
| 434 | } |
| 435 | |
| 436 | fn parse_join(ctx: CtxRef, input: ParseStream) -> Result { |
| 437 | let join = input.parse::<kw::Join>()?; |
| 438 | |
| 439 | input.parse::<kw::on>()?; |
| 440 | input.parse::<syn::Token![=]>()?; |
| 441 | let inner; |
| 442 | syn::parenthesized!(inner in input); |
| 443 | let equivalences = scalar::parse_join_equivalences(&inner)?; |
| 444 | |
| 445 | let parse_inputs = ParseChildren::new(input, join.span().start()); |
| 446 | let inputs = parse_inputs.parse_many(ctx, parse_expr)?; |
| 447 | |
| 448 | Ok(MirRelationExpr::Join { |
| 449 | inputs, |
| 450 | equivalences, |
| 451 | implementation: JoinImplementation::Unimplemented, |
| 452 | }) |
| 453 | } |
| 454 | |
| 455 | fn parse_distinct(ctx: CtxRef, input: ParseStream) -> Result { |
| 456 | let reduce = input.parse::<kw::Distinct>()?; |
no test coverage detected