@@ -7950,15 +7950,15 @@ impl<'a> Parser<'a> {
79507950 loop {
79517951 if self.parse_keyword(Keyword::CONSTRAINT) {
79527952 let name = Some(self.parse_identifier()?);
7953- if let Some(option) = self.parse_optional_column_option(&col_name )? {
7953+ if let Some(option) = self.parse_optional_column_option()? {
79547954 options.push(ColumnOptionDef { name, option });
79557955 } else {
79567956 return self.expected(
79577957 "constraint details after CONSTRAINT <name>",
79587958 self.peek_token(),
79597959 );
79607960 }
7961- } else if let Some(option) = self.parse_optional_column_option(&col_name )? {
7961+ } else if let Some(option) = self.parse_optional_column_option()? {
79627962 options.push(ColumnOptionDef { name: None, option });
79637963 } else {
79647964 break;
@@ -7994,26 +7994,20 @@ impl<'a> Parser<'a> {
79947994 }
79957995 }
79967996
7997- pub fn parse_optional_column_option(
7998- &mut self,
7999- column_ident: &Ident,
8000- ) -> Result<Option<ColumnOption>, ParserError> {
7997+ pub fn parse_optional_column_option(&mut self) -> Result<Option<ColumnOption>, ParserError> {
80017998 if let Some(option) = self.dialect.parse_column_option(self)? {
80027999 return option;
80038000 }
80048001
80058002 self.with_state(
80068003 ColumnDefinition,
80078004 |parser| -> Result<Option<ColumnOption>, ParserError> {
8008- parser.parse_optional_column_option_inner(column_ident )
8005+ parser.parse_optional_column_option_inner()
80098006 },
80108007 )
80118008 }
80128009
8013- fn parse_optional_column_option_inner(
8014- &mut self,
8015- column_ident: &Ident,
8016- ) -> Result<Option<ColumnOption>, ParserError> {
8010+ fn parse_optional_column_option_inner(&mut self) -> Result<Option<ColumnOption>, ParserError> {
80178011 if self.parse_keywords(&[Keyword::CHARACTER, Keyword::SET]) {
80188012 Ok(Some(ColumnOption::CharacterSet(
80198013 self.parse_object_name(false)?,
@@ -8095,7 +8089,7 @@ impl<'a> Parser<'a> {
80958089 ForeignKeyConstraint {
80968090 name: None, // Column-level constraints don't have names
80978091 index_name: None, // Not applicable for column-level constraints
8098- columns: vec![column_ident.clone()],
8092+ columns: vec![], // Not applicable for column-level constraints
80998093 foreign_table,
81008094 referred_columns,
81018095 on_delete,
@@ -9103,7 +9097,7 @@ impl<'a> Parser<'a> {
91039097 let new_name = self.parse_identifier()?;
91049098 let data_type = self.parse_data_type()?;
91059099 let mut options = vec![];
9106- while let Some(option) = self.parse_optional_column_option(&new_name )? {
9100+ while let Some(option) = self.parse_optional_column_option()? {
91079101 options.push(option);
91089102 }
91099103
@@ -9121,7 +9115,7 @@ impl<'a> Parser<'a> {
91219115 let col_name = self.parse_identifier()?;
91229116 let data_type = self.parse_data_type()?;
91239117 let mut options = vec![];
9124- while let Some(option) = self.parse_optional_column_option(&col_name )? {
9118+ while let Some(option) = self.parse_optional_column_option()? {
91259119 options.push(option);
91269120 }
91279121
@@ -11383,7 +11377,7 @@ impl<'a> Parser<'a> {
1138311377 /// Parses a column definition within a view.
1138411378 fn parse_view_column(&mut self) -> Result<ViewColumnDef, ParserError> {
1138511379 let name = self.parse_identifier()?;
11386- let options = self.parse_view_column_options(&name )?;
11380+ let options = self.parse_view_column_options()?;
1138711381 let data_type = if dialect_of!(self is ClickHouseDialect) {
1138811382 Some(self.parse_data_type()?)
1138911383 } else {
@@ -11398,11 +11392,10 @@ impl<'a> Parser<'a> {
1139811392
1139911393 fn parse_view_column_options(
1140011394 &mut self,
11401- column_ident: &Ident,
1140211395 ) -> Result<Option<ColumnOptions>, ParserError> {
1140311396 let mut options = Vec::new();
1140411397 loop {
11405- let option = self.parse_optional_column_option(column_ident )?;
11398+ let option = self.parse_optional_column_option()?;
1140611399 if let Some(option) = option {
1140711400 options.push(option);
1140811401 } else {
0 commit comments