MCPcopy Index your code
hub / github.com/upper/db / Using

Method Using

internal/sqlbuilder/select.go:307–330  ·  view source on GitHub ↗
(columns ...interface{})

Source from the content-addressed store, hash-verified

305}
306
307func (sel *selector) Using(columns ...interface{}) db.Selector {
308 return sel.frame(func(sq *selectorQuery) error {
309
310 joins := len(sq.joins)
311 if joins == 0 {
312 return errors.New(`cannot use Using() without a preceding Join() expression`)
313 }
314
315 lastJoin := sq.joins[joins-1]
316 if lastJoin.On != nil {
317 return errors.New(`cannot use Using() and On() with the same Join() expression`)
318 }
319
320 fragments, args, err := columnFragments(columns)
321 if err != nil {
322 return err
323 }
324
325 sq.joinsArgs = append(sq.joinsArgs, args...)
326 lastJoin.Using = exql.UsingColumns(fragments...)
327
328 return nil
329 })
330}
331
332func (sel *selector) FullJoin(tables ...interface{}) db.Selector {
333 return sel.frame(func(sq *selectorQuery) error {

Callers

nothing calls this directly

Calls 4

frameMethod · 0.95
UsingColumnsFunction · 0.92
columnFragmentsFunction · 0.85
NewMethod · 0.65

Tested by

no test coverage detected