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

Method parseHaving

rel/parse_sql.go:1514–1538  ·  view source on GitHub ↗
(req *SqlSelect)

Source from the content-addressed store, hash-verified

1512}
1513
1514func (m *Sqlbridge) parseHaving(req *SqlSelect) (err error) {
1515
1516 if m.Cur().T != lex.TokenHaving {
1517 return nil
1518 }
1519 defer func() {
1520 if r := recover(); r != nil {
1521 u.Errorf("having error? %v \n %v", r, m.Cur())
1522 if m.Cur().T == lex.TokenSelect {
1523 // TODO this is deeply flawed, need to fix/use tokenpager
1524 // with rewind ability
1525 err = m.parseWhereSelect(req)
1526 return
1527 }
1528 err = fmt.Errorf("panic err: %v", r)
1529 }
1530 }()
1531 m.Next()
1532 exprNode, err := expr.ParseExprWithFuncs(m, m.funcs)
1533 if err != nil {
1534 return err
1535 }
1536 req.Having = exprNode
1537 return err
1538}
1539
1540func (m *Sqlbridge) parseOrderBy(req *SqlSelect) (err error) {
1541

Callers 1

parseSqlSelectMethod · 0.95

Calls 5

parseWhereSelectMethod · 0.95
ParseExprWithFuncsFunction · 0.92
ErrorfMethod · 0.80
CurMethod · 0.65
NextMethod · 0.65

Tested by

no test coverage detected