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

Method parse_column_name

src/sql-parser/src/parser.rs:7272–7295  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

7270 }
7271
7272 fn parse_column_name(&mut self) -> Result<ColumnName<Raw>, ParserError> {
7273 let start = self.peek_pos();
7274 let mut item_name = self.parse_raw_name()?;
7275 let column_name = match &mut item_name {
7276 RawItemName::Name(UnresolvedItemName(identifiers)) => {
7277 if identifiers.len() < 2 {
7278 return Err(ParserError::new(
7279 start,
7280 "need to specify an object and a column",
7281 ));
7282 }
7283 identifiers.pop().unwrap()
7284 }
7285 RawItemName::Id(_, _, _) => {
7286 self.expect_token(&Token::Dot)?;
7287 self.parse_identifier()?
7288 }
7289 };
7290
7291 Ok(ColumnName {
7292 relation: item_name,
7293 column: column_name,
7294 })
7295 }
7296
7297 /// Parse a possibly quoted database identifier, e.g.
7298 /// `foo` or `"mydatabase"`

Callers 2

parse_commentMethod · 0.80

Calls 7

peek_posMethod · 0.80
parse_raw_nameMethod · 0.80
unwrapMethod · 0.80
expect_tokenMethod · 0.80
parse_identifierMethod · 0.80
lenMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected