MCPcopy Create free account
hub / github.com/apache/datafusion / parse_column_def

Method parse_column_def

datafusion/sql/src/parser.rs:970–996  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

968 }
969
970 fn parse_column_def(&mut self) -> Result<ColumnDef, DataFusionError> {
971 let name = self.parser.parse_identifier()?;
972 let data_type = self.parser.parse_data_type()?;
973 let mut options = vec![];
974 loop {
975 if self.parser.parse_keyword(Keyword::CONSTRAINT) {
976 let name = Some(self.parser.parse_identifier()?);
977 if let Some(option) = self.parser.parse_optional_column_option()? {
978 options.push(ColumnOptionDef { name, option });
979 } else {
980 return self.expected(
981 "constraint details after CONSTRAINT <name>",
982 &self.parser.peek_token(),
983 );
984 }
985 } else if let Some(option) = self.parser.parse_optional_column_option()? {
986 options.push(ColumnOptionDef { name: None, option });
987 } else {
988 break;
989 };
990 }
991 Ok(ColumnDef {
992 name,
993 data_type,
994 options,
995 })
996 }
997
998 fn parse_create_external_table(
999 &mut self,

Callers 1

parse_columnsMethod · 0.80

Calls 2

expectedMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected