MCPcopy Create free account
hub / github.com/araddon/qlbridge / parseCommandColumns

Method parseCommandColumns

rel/parse_sql.go:1619–1654  ·  view source on GitHub ↗
(req *SqlCommand)

Source from the content-addressed store, hash-verified

1617}
1618
1619func (m *Sqlbridge) parseCommandColumns(req *SqlCommand) (err error) {
1620
1621 var col *CommandColumn
1622
1623 for {
1624
1625 //u.Debugf("command col? %v", m.Cur())
1626 switch m.Cur().T {
1627 case lex.TokenIdentity:
1628
1629 col = &CommandColumn{Name: m.Cur().V}
1630 exprNode, err := expr.ParseExprWithFuncs(m, m.funcs)
1631 if err != nil {
1632 return err
1633 }
1634 col.Expr = exprNode
1635 convertIdentityToValue(col.Expr)
1636
1637 default:
1638 return m.ErrMsg("expected idenity")
1639 }
1640 //u.Debugf("command after colstart?: %v ", m.Cur())
1641
1642 // since we can have multiple columns
1643 switch m.Cur().T {
1644 case lex.TokenEOS, lex.TokenEOF:
1645 req.Columns = append(req.Columns, col)
1646 return nil
1647 case lex.TokenComma:
1648 req.Columns = append(req.Columns, col)
1649 default:
1650 return m.ErrMsg("expected command column")
1651 }
1652 m.Next()
1653 }
1654}
1655
1656func (m *Sqlbridge) parseCreateCols() ([]*DdlColumn, error) {
1657

Callers 1

parseCommandMethod · 0.95

Calls 5

ParseExprWithFuncsFunction · 0.92
convertIdentityToValueFunction · 0.85
CurMethod · 0.65
ErrMsgMethod · 0.65
NextMethod · 0.65

Tested by

no test coverage detected