MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_arrange_by

Function parse_arrange_by

src/expr-parser/src/parser.rs:616–635  ·  view source on GitHub ↗
(ctx: CtxRef, input: ParseStream)

Source from the content-addressed store, hash-verified

614 }
615
616 fn parse_arrange_by(ctx: CtxRef, input: ParseStream) -> Result {
617 let arrange_by = input.parse::<kw::ArrangeBy>()?;
618
619 let keys = {
620 input.parse::<kw::keys>()?;
621 input.parse::<syn::Token![=]>()?;
622 let inner;
623 syn::bracketed!(inner in input);
624 inner.parse_comma_sep(|input| {
625 let inner;
626 syn::bracketed!(inner in input);
627 scalar::parse_exprs(&inner)
628 })?
629 };
630
631 let parse_input = ParseChildren::new(input, arrange_by.span().start());
632 let input = Box::new(parse_input.parse_one(ctx, parse_expr)?);
633
634 Ok(MirRelationExpr::ArrangeBy { input, keys })
635 }
636
637 fn parse_local_id(ident: syn::Ident) -> syn::Result<LocalId> {
638 if ident.to_string().starts_with('l') {

Callers 1

parse_exprFunction · 0.85

Calls 5

parse_exprsFunction · 0.85
parse_comma_sepMethod · 0.80
spanMethod · 0.80
parse_oneMethod · 0.80
startMethod · 0.45

Tested by

no test coverage detected