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

Method parse_copy_option

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

Source from the content-addressed store, hash-verified

6794 }
6795
6796 fn parse_copy_option(&mut self) -> Result<CopyOption<Raw>, ParserError> {
6797 let name = match self.expect_one_of_keywords(&[
6798 FORMAT, DELIMITER, NULL, ESCAPE, QUOTE, HEADER, AWS, MAX, FILES, PATTERN,
6799 ])? {
6800 FORMAT => CopyOptionName::Format,
6801 DELIMITER => CopyOptionName::Delimiter,
6802 NULL => CopyOptionName::Null,
6803 ESCAPE => CopyOptionName::Escape,
6804 QUOTE => CopyOptionName::Quote,
6805 HEADER => CopyOptionName::Header,
6806 AWS => {
6807 self.expect_keyword(CONNECTION)?;
6808 return Ok(CopyOption {
6809 name: CopyOptionName::AwsConnection,
6810 value: Some(self.parse_object_option_value()?),
6811 });
6812 }
6813 MAX => {
6814 self.expect_keywords(&[FILE, SIZE])?;
6815 CopyOptionName::MaxFileSize
6816 }
6817 FILES => CopyOptionName::Files,
6818 PATTERN => CopyOptionName::Pattern,
6819 _ => unreachable!(),
6820 };
6821 Ok(CopyOption {
6822 name,
6823 value: self.parse_optional_option_value()?,
6824 })
6825 }
6826
6827 /// Parse a literal value (numbers, strings, date/time, booleans)
6828 fn parse_value(&mut self) -> Result<Value, ParserError> {

Callers

nothing calls this directly

Calls 5

expect_keywordMethod · 0.80
expect_keywordsMethod · 0.80

Tested by

no test coverage detected