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

Function parse_literal_array

src/expr-parser/src/parser.rs:1083–1095  ·  view source on GitHub ↗
(input: ParseStream)

Source from the content-addressed store, hash-verified

1081 }
1082
1083 fn parse_literal_array(input: ParseStream) -> Result {
1084 use mz_expr::func::variadic::ArrayCreate;
1085
1086 let elem_type = SqlScalarType::Int64; // FIXME
1087 let func = VariadicFunc::ArrayCreate(ArrayCreate { elem_type });
1088 let exprs = input.parse_comma_sep(parse_literal_ok)?;
1089
1090 // Evaluate into a datum
1091 let temp_storage = RowArena::default();
1092 let datum = func.eval(&[], &temp_storage, &exprs).expect("datum");
1093 let typ = ReprScalarType::from(&SqlScalarType::Array(Box::new(SqlScalarType::Int64))); // FIXME
1094 Ok(MirScalarExpr::literal_ok(datum, typ))
1095 }
1096 fn parse_literal_list(input: ParseStream) -> Result {
1097 use mz_expr::func::variadic::ListCreate;
1098

Callers 1

parse_operandFunction · 0.85

Calls 5

ArrayCreateClass · 0.85
ArrayClass · 0.85
parse_comma_sepMethod · 0.80
expectMethod · 0.80
evalMethod · 0.45

Tested by

no test coverage detected