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

Method parse_cluster_option_schedule

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

Source from the content-addressed store, hash-verified

4664 }
4665
4666 fn parse_cluster_option_schedule(&mut self) -> Result<ClusterOption<Raw>, ParserError> {
4667 let _ = self.consume_token(&Token::Eq);
4668 let kw = self.expect_one_of_keywords(&[MANUAL, ON])?;
4669 let value = match kw {
4670 MANUAL => ClusterScheduleOptionValue::Manual,
4671 ON => {
4672 self.expect_keyword(REFRESH)?;
4673 // Parse optional `(HYDRATION TIME ESTIMATE ...)`
4674 let hydration_time_estimate = if self.consume_token(&Token::LParen) {
4675 self.expect_keywords(&[HYDRATION, TIME, ESTIMATE])?;
4676 let _ = self.consume_token(&Token::Eq);
4677 let interval = self.parse_interval_value()?;
4678 self.expect_token(&Token::RParen)?;
4679 Some(interval)
4680 } else {
4681 None
4682 };
4683 ClusterScheduleOptionValue::Refresh {
4684 hydration_time_estimate,
4685 }
4686 }
4687 _ => unreachable!(),
4688 };
4689 Ok(ClusterOption {
4690 name: ClusterOptionName::Schedule,
4691 value: Some(WithOptionValue::ClusterScheduleOptionValue(value)),
4692 })
4693 }
4694
4695 fn parse_replica_option(&mut self) -> Result<ReplicaOption<Raw>, ParserError> {
4696 let name = match self.expect_one_of_keywords(&[

Callers 1

parse_cluster_optionMethod · 0.80

Calls 7

consume_tokenMethod · 0.80
expect_keywordMethod · 0.80
expect_keywordsMethod · 0.80
parse_interval_valueMethod · 0.80
expect_tokenMethod · 0.80

Tested by

no test coverage detected