MCPcopy Create free account
hub / github.com/AfterShip/clickhouse-sql-parser / parseAlterTableAddProjection

Method parseAlterTableAddProjection

parser/parser_alter.go:246–274  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

244}
245
246func (p *Parser) parseAlterTableAddProjection(pos Pos) (*AlterTableAddProjection, error) {
247 if err := p.expectKeyword(KeywordProjection); err != nil {
248 return nil, err
249 }
250
251 ifNotExists, err := p.tryParseIfNotExists()
252 if err != nil {
253 return nil, err
254 }
255 tableProjection, err := p.parseTableProjection(p.Pos(), false)
256 if err != nil {
257 return nil, err
258 }
259 statementEnd := tableProjection.End()
260 after, err := p.tryParseAfterClause()
261 if err != nil {
262 return nil, err
263 }
264 if after != nil {
265 statementEnd = after.End()
266 }
267 return &AlterTableAddProjection{
268 AddPos: pos,
269 StatementEnd: statementEnd,
270 IfNotExists: ifNotExists,
271 TableProjection: tableProjection,
272 After: after,
273 }, nil
274}
275
276func (p *Parser) parseTableIndex(pos Pos) (*TableIndex, error) {
277 name, err := p.ParseNestedIdentifier(p.Pos())

Callers 1

parseAlterTableAddMethod · 0.95

Calls 6

expectKeywordMethod · 0.95
tryParseIfNotExistsMethod · 0.95
parseTableProjectionMethod · 0.95
PosMethod · 0.95
tryParseAfterClauseMethod · 0.95
EndMethod · 0.65

Tested by

no test coverage detected