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

Method parseMainStatementAfterWith

pkg/sql/parser/cte.go:227–242  ·  view source on GitHub ↗

parseMainStatementAfterWith parses the main statement after WITH clause. It supports SELECT, INSERT, UPDATE, and DELETE statements, routing them to the appropriate parsers while preserving set operation support for SELECT statements.

()

Source from the content-addressed store, hash-verified

225// It supports SELECT, INSERT, UPDATE, and DELETE statements, routing them to the appropriate
226// parsers while preserving set operation support for SELECT statements.
227func (p *Parser) parseMainStatementAfterWith() (ast.Statement, error) {
228 if p.isType(models.TokenTypeSelect) {
229 p.advance() // Consume SELECT
230 return p.parseSelectWithSetOperations()
231 } else if p.isType(models.TokenTypeInsert) {
232 p.advance() // Consume INSERT
233 return p.parseInsertStatement()
234 } else if p.isType(models.TokenTypeUpdate) {
235 p.advance() // Consume UPDATE
236 return p.parseUpdateStatement()
237 } else if p.isType(models.TokenTypeDelete) {
238 p.advance() // Consume DELETE
239 return p.parseDeleteStatement()
240 }
241 return nil, p.expectedError("SELECT, INSERT, UPDATE, or DELETE after WITH")
242}

Callers 1

parseWithStatementMethod · 0.95

Calls 7

isTypeMethod · 0.95
advanceMethod · 0.95
parseInsertStatementMethod · 0.95
parseUpdateStatementMethod · 0.95
parseDeleteStatementMethod · 0.95
expectedErrorMethod · 0.95

Tested by

no test coverage detected