@@ -1191,29 +1191,6 @@ impl<'a> Parser<'a> {
11911191 } )
11921192 }
11931193
1194- fn parse_column_def ( & mut self ) -> Result < ColumnDef , ParserError > {
1195- let name = self . parse_identifier ( ) ?;
1196- let data_type = self . parse_data_type ( ) ?;
1197- let collation = if self . parse_keyword ( Keyword :: COLLATE ) {
1198- Some ( self . parse_object_name ( ) ?)
1199- } else {
1200- None
1201- } ;
1202- let mut options = vec ! [ ] ;
1203- loop {
1204- match self . peek_token ( ) {
1205- Token :: EOF | Token :: Comma | Token :: RParen | Token :: SemiColon => break ,
1206- _ => options. push ( self . parse_column_option_def ( ) ?) ,
1207- }
1208- }
1209- Ok ( ColumnDef {
1210- name,
1211- data_type,
1212- collation,
1213- options,
1214- } )
1215- }
1216-
12171194 fn parse_columns ( & mut self ) -> Result < ( Vec < ColumnDef > , Vec < TableConstraint > ) , ParserError > {
12181195 let mut columns = vec ! [ ] ;
12191196 let mut constraints = vec ! [ ] ;
@@ -1225,8 +1202,7 @@ impl<'a> Parser<'a> {
12251202 if let Some ( constraint) = self . parse_optional_table_constraint ( ) ? {
12261203 constraints. push ( constraint) ;
12271204 } else if let Token :: Word ( _) = self . peek_token ( ) {
1228- let column_def = self . parse_column_def ( ) ?;
1229- columns. push ( column_def) ;
1205+ columns. push ( self . parse_column_def ( ) ?) ;
12301206 } else {
12311207 return self . expected ( "column name or constraint definition" , self . peek_token ( ) ) ;
12321208 }
@@ -1242,6 +1218,29 @@ impl<'a> Parser<'a> {
12421218 Ok ( ( columns, constraints) )
12431219 }
12441220
1221+ fn parse_column_def ( & mut self ) -> Result < ColumnDef , ParserError > {
1222+ let name = self . parse_identifier ( ) ?;
1223+ let data_type = self . parse_data_type ( ) ?;
1224+ let collation = if self . parse_keyword ( Keyword :: COLLATE ) {
1225+ Some ( self . parse_object_name ( ) ?)
1226+ } else {
1227+ None
1228+ } ;
1229+ let mut options = vec ! [ ] ;
1230+ loop {
1231+ match self . peek_token ( ) {
1232+ Token :: EOF | Token :: Comma | Token :: RParen | Token :: SemiColon => break ,
1233+ _ => options. push ( self . parse_column_option_def ( ) ?) ,
1234+ }
1235+ }
1236+ Ok ( ColumnDef {
1237+ name,
1238+ data_type,
1239+ collation,
1240+ options,
1241+ } )
1242+ }
1243+
12451244 pub fn parse_column_option_def ( & mut self ) -> Result < ColumnOptionDef , ParserError > {
12461245 let name = if self . parse_keyword ( Keyword :: CONSTRAINT ) {
12471246 Some ( self . parse_identifier ( ) ?)
0 commit comments