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

Method parseAlterTableAddColumn

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

Source from the content-addressed store, hash-verified

94}
95
96func (p *Parser) parseAlterTableAddColumn(pos Pos) (*AlterTableAddColumn, error) {
97 if err := p.expectKeyword(KeywordColumn); err != nil {
98 return nil, err
99 }
100
101 ifNotExists, err := p.tryParseIfNotExists()
102 if err != nil {
103 return nil, err
104 }
105
106 column, err := p.parseTableColumnExpr(p.Pos())
107 if err != nil {
108 return nil, err
109 }
110 statementEnd := column.End()
111
112 after, err := p.tryParseAfterClause()
113 if err != nil {
114 return nil, err
115 }
116 if after != nil {
117 statementEnd = after.End()
118 }
119
120 settings, err := p.tryParseSettingsClause(p.Pos())
121 if err != nil {
122 return nil, err
123 }
124 if settings != nil {
125 statementEnd = settings.End()
126 }
127
128 return &AlterTableAddColumn{
129 AddPos: pos,
130 StatementEnd: statementEnd,
131 Column: column,
132 IfNotExists: ifNotExists,
133 After: after,
134 Settings: settings,
135 }, nil
136}
137
138func (p *Parser) parseAlterTableAddIndex(pos Pos) (*AlterTableAddIndex, error) {
139 indexPos := p.Pos()

Callers 1

parseAlterTableAddMethod · 0.95

Calls 7

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

Tested by

no test coverage detected