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

Method parseSqlUpdate

rel/parse_sql.go:337–370  ·  view source on GitHub ↗

First keyword was UPDATE

()

Source from the content-addressed store, hash-verified

335
336// First keyword was UPDATE
337func (m *Sqlbridge) parseSqlUpdate() (*SqlUpdate, error) {
338
339 req := NewSqlUpdate()
340 m.Next() // Consume UPDATE token
341
342 //u.Debugf("token: %v", m.Cur())
343 switch m.Cur().T {
344 case lex.TokenTable, lex.TokenIdentity:
345 req.Table = m.Cur().V
346 default:
347 return nil, fmt.Errorf("expected table name but got : %v", m.Cur().V)
348 }
349 m.Next()
350 if m.Cur().T != lex.TokenSet {
351 return nil, fmt.Errorf("expected SET after table name but got : %v", m.Cur().V)
352 }
353
354 // list of name=value pairs
355 m.Next()
356 cols, err := m.parseUpdateList()
357 if err != nil {
358 u.Error(err)
359 return nil, err
360 }
361 req.Values = cols
362
363 // WHERE
364 req.Where, err = m.parseWhere()
365 if err != nil {
366 return nil, err
367 }
368
369 return req, nil
370}
371
372// First keyword was UPSERT
373func (m *Sqlbridge) parseSqlUpsert() (*SqlUpsert, error) {

Callers 1

parseMethod · 0.95

Calls 7

parseUpdateListMethod · 0.95
parseWhereMethod · 0.95
NewSqlUpdateFunction · 0.85
ErrorfMethod · 0.80
NextMethod · 0.65
CurMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected