@@ -9746,7 +9746,7 @@ impl<'a> Parser<'a> {
9746
9746
self.expect_keyword(Keyword::BY)?;
9747
9747
let columns = self.parse_parenthesized_column_list(IsOptional::Mandatory, false)?;
9748
9748
let include = self.parse_keyword(Keyword::INCLUDE);
9749
- CopyLegacyOption::PartitionBy(PartitionBy { columns, include })
9749
+ CopyLegacyOption::PartitionBy(UnloadPartitionBy { columns, include })
9750
9750
}
9751
9751
Some(Keyword::REGION) => {
9752
9752
let _ = self.parse_keyword(Keyword::AS);
@@ -9755,13 +9755,8 @@ impl<'a> Parser<'a> {
9755
9755
}
9756
9756
Some(Keyword::ROWGROUPSIZE) => {
9757
9757
let _ = self.parse_keyword(Keyword::AS);
9758
- let size = self.parse_number_value()?.value;
9759
- let unit = match self.parse_one_of_keywords(&[Keyword::MB, Keyword::GB]) {
9760
- Some(Keyword::MB) => Some(FileSizeUnit::MB),
9761
- Some(Keyword::GB) => Some(FileSizeUnit::GB),
9762
- _ => None,
9763
- };
9764
- CopyLegacyOption::RowGroupSize(FileSize { size, unit })
9758
+ let file_size = self.parse_file_size()?;
9759
+ CopyLegacyOption::RowGroupSize(file_size)
9765
9760
}
9766
9761
Some(Keyword::TIMEFORMAT) => {
9767
9762
let _ = self.parse_keyword(Keyword::AS);
@@ -9779,6 +9774,20 @@ impl<'a> Parser<'a> {
9779
9774
Ok(ret)
9780
9775
}
9781
9776
9777
+ fn parse_file_size(&mut self) -> Result<FileSize, ParserError> {
9778
+ let size = self.parse_number_value()?.value;
9779
+ let unit = self.maybe_parse_file_size_unit();
9780
+ Ok(FileSize { size, unit })
9781
+ }
9782
+
9783
+ fn maybe_parse_file_size_unit(&mut self) -> Option<FileSizeUnit> {
9784
+ match self.parse_one_of_keywords(&[Keyword::MB, Keyword::GB]) {
9785
+ Some(Keyword::MB) => Some(FileSizeUnit::MB),
9786
+ Some(Keyword::GB) => Some(FileSizeUnit::GB),
9787
+ _ => None,
9788
+ }
9789
+ }
9790
+
9782
9791
fn parse_iam_role_kind(&mut self) -> Result<IamRoleKind, ParserError> {
9783
9792
if self.parse_keyword(Keyword::DEFAULT) {
9784
9793
Ok(IamRoleKind::Default)
0 commit comments