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

Method parse_statement

src/sql-parser/src/parser.rs:416–424  ·  view source on GitHub ↗

Parse a single top-level statement (such as SELECT, INSERT, CREATE, etc.), stopping before the statement separator, if any. Returns the parsed statement and the SQL fragment corresponding to it.

(&mut self)

Source from the content-addressed store, hash-verified

414 /// stopping before the statement separator, if any. Returns the parsed statement and the SQL
415 /// fragment corresponding to it.
416 fn parse_statement(&mut self) -> Result<StatementParseResult<'a>, ParserStatementError> {
417 let before = self.peek_pos();
418 let statement = self.parse_statement_inner()?;
419 let after = self.peek_pos();
420 Ok(StatementParseResult::new(
421 statement,
422 self.sql[before..after].trim(),
423 ))
424 }
425
426 /// Parse a single top-level statement (such as SELECT, INSERT, CREATE, etc.),
427 /// stopping before the statement separator, if any.

Callers 4

parse_statementsMethod · 0.45
parse_copyMethod · 0.45
parse_declareMethod · 0.45
parse_prepareMethod · 0.45

Calls 3

peek_posMethod · 0.80
parse_statement_innerMethod · 0.80
trimMethod · 0.45

Tested by

no test coverage detected