jet/postgres/statements.go
2019-08-08 17:13:20 +02:00

42 lines
1.1 KiB
Go

package postgres
import "github.com/go-jet/jet/internal/jet"
type SelectStatement jet.SelectStatement
type SelectTable jet.SelectTable
type SelectLock jet.SelectLock
var (
UPDATE = jet.NewSelectLock("UPDATE")
NO_KEY_UPDATE = jet.NewSelectLock("NO KEY UPDATE")
SHARE = jet.NewSelectLock("SHARE")
KEY_SHARE = jet.NewSelectLock("KEY SHARE")
)
var SELECT = jet.SELECT
func UNION(lhs, rhs SelectStatement, selects ...SelectStatement) SelectStatement {
return jet.UNION(lhs, rhs, toJetSelects(selects...)...)
}
func UNION_ALL(lhs, rhs SelectStatement, selects ...SelectStatement) SelectStatement {
return jet.UNION_ALL(lhs, rhs, toJetSelects(selects...)...)
}
func INTERSECT(lhs, rhs SelectStatement, selects ...SelectStatement) SelectStatement {
return jet.INTERSECT(lhs, rhs, toJetSelects(selects...)...)
}
func INTERSECT_ALL(lhs, rhs SelectStatement, selects ...SelectStatement) SelectStatement {
return jet.INTERSECT_ALL(lhs, rhs, toJetSelects(selects...)...)
}
func toJetSelects(selects ...SelectStatement) []jet.SelectStatement {
ret := []jet.SelectStatement{}
for _, sel := range selects {
ret = append(ret, sel)
}
return ret
}