parseOutputColumns parses comma-separated OUTPUT column expressions e.g., INSERTED.id, INSERTED.name, DELETED.*, inserted.*
()
| 367 | // parseOutputColumns parses comma-separated OUTPUT column expressions |
| 368 | // e.g., INSERTED.id, INSERTED.name, DELETED.*, inserted.* |
| 369 | func (p *Parser) parseOutputColumns() ([]ast.Expression, error) { |
| 370 | var cols []ast.Expression |
| 371 | for { |
| 372 | expr, err := p.parseExpression() |
| 373 | if err != nil { |
| 374 | return nil, err |
| 375 | } |
| 376 | cols = append(cols, expr) |
| 377 | if !p.isType(models.TokenTypeComma) { |
| 378 | break |
| 379 | } |
| 380 | p.advance() // Consume comma |
| 381 | } |
| 382 | return cols, nil |
| 383 | } |
| 384 | |
| 385 | // parseOnDuplicateKeyUpdateClause parses the assignments in ON DUPLICATE KEY UPDATE |
| 386 | func (p *Parser) parseOnDuplicateKeyUpdateClause() (*ast.UpsertClause, error) { |
no test coverage detected