diff --git a/src/dialect/snowflake.rs b/src/dialect/snowflake.rs index d2748eea..2d7b940e 100644 --- a/src/dialect/snowflake.rs +++ b/src/dialect/snowflake.rs @@ -598,29 +598,11 @@ pub fn parse_create_table( } Keyword::ENABLE_SCHEMA_EVOLUTION => { parser.expect_token(&Token::Eq)?; - let enable_schema_evolution = - match parser.parse_one_of_keywords(&[Keyword::TRUE, Keyword::FALSE]) { - Some(Keyword::TRUE) => true, - Some(Keyword::FALSE) => false, - _ => { - return parser.expected("TRUE or FALSE", next_token); - } - }; - - builder = builder.enable_schema_evolution(Some(enable_schema_evolution)); + builder = builder.enable_schema_evolution(Some(parser.parse_boolean_string()?)); } Keyword::CHANGE_TRACKING => { parser.expect_token(&Token::Eq)?; - let change_tracking = - match parser.parse_one_of_keywords(&[Keyword::TRUE, Keyword::FALSE]) { - Some(Keyword::TRUE) => true, - Some(Keyword::FALSE) => false, - _ => { - return parser.expected("TRUE or FALSE", next_token); - } - }; - - builder = builder.change_tracking(Some(change_tracking)); + builder = builder.change_tracking(Some(parser.parse_boolean_string()?)); } Keyword::DATA_RETENTION_TIME_IN_DAYS => { parser.expect_token(&Token::Eq)?; diff --git a/src/parser/mod.rs b/src/parser/mod.rs index 9d10342e..0b3060fd 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -9772,7 +9772,7 @@ impl<'a> Parser<'a> { } /// Parse a boolean string - pub fn parse_boolean_string(&mut self) -> Result { + pub(crate) fn parse_boolean_string(&mut self) -> Result { match self.parse_one_of_keywords(&[Keyword::TRUE, Keyword::FALSE]) { Some(Keyword::TRUE) => Ok(true), Some(Keyword::FALSE) => Ok(false),