(ctx: CtxRef, input: ParseStream)
| 172 | } |
| 173 | |
| 174 | fn parse_get(ctx: CtxRef, input: ParseStream) -> Result { |
| 175 | input.parse::<kw::Get>()?; |
| 176 | |
| 177 | let ident = input.parse::<syn::Ident>()?; |
| 178 | match ctx.catalog.get(&ident.to_string()) { |
| 179 | Some((id, _cols, typ)) => Ok(MirRelationExpr::Get { |
| 180 | id: Id::Global(*id), |
| 181 | typ: ReprRelationType::from(typ), |
| 182 | access_strategy: AccessStrategy::UnknownOrLocal, |
| 183 | }), |
| 184 | None => Ok(MirRelationExpr::Get { |
| 185 | id: Id::Local(parse_local_id(ident)?), |
| 186 | typ: ReprRelationType::empty(), |
| 187 | access_strategy: AccessStrategy::UnknownOrLocal, |
| 188 | }), |
| 189 | } |
| 190 | } |
| 191 | |
| 192 | /// Parses a Let or a LetRec with the old order: Return first, and then CTEs in descending order. |
| 193 | fn parse_let_or_letrec_old(ctx: CtxRef, input: ParseStream) -> Result { |
no test coverage detected