Skip to content

Commit a0aa870

Browse files
Removed clone of column ident
1 parent c5a77c9 commit a0aa870

File tree

2 files changed

+12
-19
lines changed

2 files changed

+12
-19
lines changed

src/parser/mod.rs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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 {

tests/sqlparser_common.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3793,7 +3793,7 @@ fn parse_create_table() {
37933793
option: ColumnOption::ForeignKey(ForeignKeyConstraint {
37943794
name: None,
37953795
index_name: None,
3796-
columns: vec!["ref".into()],
3796+
columns: vec![],
37973797
foreign_table: ObjectName::from(vec!["othertable".into()]),
37983798
referred_columns: vec!["a".into(), "b".into()],
37993799
on_delete: None,
@@ -3811,7 +3811,7 @@ fn parse_create_table() {
38113811
option: ColumnOption::ForeignKey(ForeignKeyConstraint {
38123812
name: None,
38133813
index_name: None,
3814-
columns: vec!["ref2".into()],
3814+
columns: vec![],
38153815
foreign_table: ObjectName::from(vec!["othertable2".into()]),
38163816
referred_columns: vec![],
38173817
on_delete: Some(ReferentialAction::Cascade),

0 commit comments

Comments
 (0)