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

Function parse_expr

src/sql-parser/src/parser.rs:162–175  ·  view source on GitHub ↗

Parses a SQL string containing one SQL expression.

(sql: &str)

Source from the content-addressed store, hash-verified

160
161/// Parses a SQL string containing one SQL expression.
162pub fn parse_expr(sql: &str) -> Result<Expr<Raw>, ParserError> {
163 let tokens = lexer::lex(sql)?;
164 let mut parser = Parser::new(sql, tokens);
165 let expr = parser.parse_expr()?;
166 if parser.next_token().is_some() {
167 parser_err!(
168 parser,
169 parser.peek_prev_pos(),
170 "extra token after expression"
171 )
172 } else {
173 Ok(expr)
174 }
175}
176
177/// Parses a SQL string containing a single data type.
178pub fn parse_data_type(sql: &str) -> Result<RawDataType, ParserError> {

Callers 7

parse_scalarFunction · 0.70
createFunction · 0.50
sql_implFunction · 0.50
verify_pretty_exprFunction · 0.50
op_precedenceFunction · 0.50

Calls 4

parse_exprMethod · 0.80
is_someMethod · 0.80
next_tokenMethod · 0.80
lexFunction · 0.50

Tested by 4

verify_pretty_exprFunction · 0.40
op_precedenceFunction · 0.40