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

Function ParseWith

rel/parse_sql.go:2051–2072  ·  view source on GitHub ↗
(pg expr.TokenPager)

Source from the content-addressed store, hash-verified

2049}
2050
2051func ParseWith(pg expr.TokenPager) (u.JsonHelper, error) {
2052 if pg.Cur().T != lex.TokenWith {
2053 // This is an optional statement
2054 return nil, nil
2055 }
2056 pg.Next() // consume WITH
2057 jh := make(u.JsonHelper)
2058 switch pg.Cur().T {
2059 case lex.TokenLeftBrace: // {
2060 if err := ParseJsonObject(pg, jh); err != nil {
2061 return nil, err
2062 }
2063 case lex.TokenIdentity:
2064 // name=value pairs
2065 if err := ParseKeyValue(pg, jh); err != nil {
2066 return nil, err
2067 }
2068 default:
2069 return nil, pg.ErrMsg("Expected json { , or name=value")
2070 }
2071 return jh, nil
2072}
2073
2074func (m *Sqlbridge) parseShowFromTable(req *SqlShow) error {
2075

Callers 5

parseSelectMethod · 0.85
parseFilterMethod · 0.85
parseSqlSelectMethod · 0.85
parseCreateMethod · 0.85
parseDropMethod · 0.85

Calls 5

ParseJsonObjectFunction · 0.85
ParseKeyValueFunction · 0.85
CurMethod · 0.65
NextMethod · 0.65
ErrMsgMethod · 0.65

Tested by

no test coverage detected