MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_comment

Method parse_comment

src/sql-parser/src/parser.rs:10135–10238  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

10133 }
10134
10135 fn parse_comment(&mut self) -> Result<Statement<Raw>, ParserError> {
10136 self.expect_keyword(ON)?;
10137
10138 let object = match self.expect_one_of_keywords(&[
10139 TABLE,
10140 VIEW,
10141 COLUMN,
10142 MATERIALIZED,
10143 SOURCE,
10144 SINK,
10145 INDEX,
10146 FUNCTION,
10147 CONNECTION,
10148 TYPE,
10149 SECRET,
10150 ROLE,
10151 DATABASE,
10152 SCHEMA,
10153 CLUSTER,
10154 NETWORK,
10155 ])? {
10156 TABLE => {
10157 let name = self.parse_raw_name()?;
10158 CommentObjectType::Table { name }
10159 }
10160 VIEW => {
10161 let name = self.parse_raw_name()?;
10162 CommentObjectType::View { name }
10163 }
10164 MATERIALIZED => {
10165 self.expect_keyword(VIEW)?;
10166 let name = self.parse_raw_name()?;
10167 CommentObjectType::MaterializedView { name }
10168 }
10169 SOURCE => {
10170 let name = self.parse_raw_name()?;
10171 CommentObjectType::Source { name }
10172 }
10173 SINK => {
10174 let name = self.parse_raw_name()?;
10175 CommentObjectType::Sink { name }
10176 }
10177 INDEX => {
10178 let name = self.parse_raw_name()?;
10179 CommentObjectType::Index { name }
10180 }
10181 FUNCTION => {
10182 let name = self.parse_raw_name()?;
10183 CommentObjectType::Func { name }
10184 }
10185 CONNECTION => {
10186 let name = self.parse_raw_name()?;
10187 CommentObjectType::Connection { name }
10188 }
10189 TYPE => {
10190 let ty = self.parse_data_type()?;
10191 CommentObjectType::Type { ty }
10192 }

Callers 1

parse_statement_innerMethod · 0.80

Calls 15

expect_keywordMethod · 0.80
parse_raw_nameMethod · 0.80
parse_data_typeMethod · 0.80
parse_identifierMethod · 0.80
parse_database_nameMethod · 0.80
parse_schema_nameMethod · 0.80
parse_keywordMethod · 0.80
parse_raw_identMethod · 0.80
parse_column_nameMethod · 0.80

Tested by

no test coverage detected