MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / parseAlterSequenceStatement

Method parseAlterSequenceStatement

pkg/sql/parser/mariadb.go:122–146  ·  view source on GitHub ↗

parseAlterSequenceStatement parses: ALTER SEQUENCE [IF EXISTS] name [options...] The caller has already consumed ALTER and SEQUENCE.

()

Source from the content-addressed store, hash-verified

120// parseAlterSequenceStatement parses: ALTER SEQUENCE [IF EXISTS] name [options...]
121// The caller has already consumed ALTER and SEQUENCE.
122func (p *Parser) parseAlterSequenceStatement() (*ast.AlterSequenceStatement, error) {
123 stmt := ast.NewAlterSequenceStatement()
124
125 if strings.EqualFold(p.currentToken.Token.Value, "IF") {
126 p.advance()
127 if !strings.EqualFold(p.currentToken.Token.Value, "EXISTS") {
128 return nil, p.expectedError("EXISTS")
129 }
130 p.advance()
131 stmt.IfExists = true
132 }
133
134 name := p.parseIdent()
135 if name == nil || name.Name == "" {
136 return nil, p.expectedError("sequence name")
137 }
138 stmt.Name = name
139
140 opts, err := p.parseSequenceOptions()
141 if err != nil {
142 return nil, err
143 }
144 stmt.Options = opts
145 return stmt, nil
146}
147
148// parseSequenceOptions parses sequence option keywords until no more are found.
149func (p *Parser) parseSequenceOptions() (ast.SequenceOptions, error) {

Callers 1

parseStatementMethod · 0.95

Calls 5

advanceMethod · 0.95
expectedErrorMethod · 0.95
parseIdentMethod · 0.95
parseSequenceOptionsMethod · 0.95

Tested by

no test coverage detected