(pos Pos)
| 94 | } |
| 95 | |
| 96 | func (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 | |
| 138 | func (p *Parser) parseAlterTableAddIndex(pos Pos) (*AlterTableAddIndex, error) { |
| 139 | indexPos := p.Pos() |
no test coverage detected