MCPcopy Create free account
hub / github.com/upper/db / On

Method On

internal/sqlbuilder/select.go:362–384  ·  view source on GitHub ↗
(terms ...interface{})

Source from the content-addressed store, hash-verified

360}
361
362func (sel *selector) On(terms ...interface{}) db.Selector {
363 return sel.frame(func(sq *selectorQuery) error {
364 joins := len(sq.joins)
365
366 if joins == 0 {
367 return errors.New(`cannot use On() without a preceding Join() expression`)
368 }
369
370 lastJoin := sq.joins[joins-1]
371 if lastJoin.On != nil {
372 return errors.New(`cannot use Using() and On() with the same Join() expression`)
373 }
374
375 w, a := sel.SQL().t.toWhereWithArguments(terms)
376 o := exql.On(w)
377
378 lastJoin.On = &o
379
380 sq.joinsArgs = append(sq.joinsArgs, a...)
381
382 return nil
383 })
384}
385
386func (sel *selector) Limit(n int) db.Selector {
387 return sel.frame(func(sq *selectorQuery) error {

Callers

nothing calls this directly

Calls 5

frameMethod · 0.95
SQLMethod · 0.95
OnTypeAlias · 0.92
toWhereWithArgumentsMethod · 0.80
NewMethod · 0.65

Tested by

no test coverage detected