opt Methods
This commit is contained in:
parent
7d4e88c1b9
commit
d24388ad81
@ -46,7 +46,6 @@ func (o *Order) SortString() string {
|
||||
return ``
|
||||
}
|
||||
|
||||
|
||||
func (o *Order) IsRaw() bool {
|
||||
return o.isRaw
|
||||
}
|
||||
@ -76,14 +75,26 @@ func OrderColumn(column string) OrderOption {
|
||||
}
|
||||
}
|
||||
|
||||
func OrderSort(sort Sort) OrderOption {
|
||||
func sort(sort Sort) OrderOption {
|
||||
return func(order *Order) {
|
||||
order.sort = sort
|
||||
}
|
||||
}
|
||||
|
||||
func OrderRaw(isRaw bool) OrderOption {
|
||||
func OrderSortAscending() OrderOption {
|
||||
return sort(SortAscending)
|
||||
}
|
||||
|
||||
func OrderSortDescending() OrderOption {
|
||||
return sort(SortDescending)
|
||||
}
|
||||
|
||||
func OrderSortNone() OrderOption {
|
||||
return sort(SortNone)
|
||||
}
|
||||
|
||||
func OrderRaw() OrderOption {
|
||||
return func(order *Order) {
|
||||
order.isRaw = isRaw
|
||||
order.isRaw = true
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,25 +5,76 @@ import "testing"
|
||||
func TestOrderClause(t *testing.T) {
|
||||
var (
|
||||
column = `a`
|
||||
sort = SortDescending
|
||||
raw = true
|
||||
)
|
||||
|
||||
o := OrderClause(
|
||||
OrderColumn(column),
|
||||
OrderSort(sort),
|
||||
OrderRaw(raw),
|
||||
)
|
||||
|
||||
if o.GetColumn() != column {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
if o.GetSort() != sort {
|
||||
t.Error()
|
||||
}
|
||||
func TestOrderSortAscending(t *testing.T) {
|
||||
o := OrderClause(
|
||||
OrderSortAscending(),
|
||||
)
|
||||
|
||||
if o.IsRaw() != raw {
|
||||
if o.GetSort() != SortAscending {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderSortDescending(t *testing.T) {
|
||||
o := OrderClause(
|
||||
OrderSortDescending(),
|
||||
)
|
||||
|
||||
if o.GetSort() != SortDescending {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderSortNone(t *testing.T) {
|
||||
o1 := OrderClause(
|
||||
OrderSortNone(),
|
||||
)
|
||||
|
||||
if o1.GetSort() != SortNone {
|
||||
t.Error()
|
||||
}
|
||||
|
||||
o2 := OrderClause()
|
||||
|
||||
if o2.GetSort() != SortNone {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderRaw(t *testing.T) {
|
||||
o1 := OrderClause()
|
||||
|
||||
if o1.IsRaw() {
|
||||
t.Error()
|
||||
}
|
||||
|
||||
o2 := OrderClause(
|
||||
OrderRaw(),
|
||||
)
|
||||
|
||||
if !o2.IsRaw() {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderColumn(t *testing.T) {
|
||||
o1 := OrderClause(
|
||||
OrderColumn(`aaa`),
|
||||
)
|
||||
|
||||
if o1.GetColumn() != `aaa` {
|
||||
t.Error()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -294,18 +294,16 @@ type QuerySeter interface {
|
||||
// for example:
|
||||
// OrderClauses(clauses.OrderClause(
|
||||
// clauses.OrderColumn(`status`),
|
||||
// clauses.OrderSort(clauses.SortAscending),
|
||||
// clauses.OrderRaw(false),
|
||||
// clauses.OrderSortAscending(),//default None
|
||||
// ))
|
||||
// OrderClauses(clauses.OrderClause(
|
||||
// clauses.OrderColumn(`user__status`),
|
||||
// clauses.OrderSort(clauses.SortAscending),
|
||||
// clauses.OrderRaw(false),
|
||||
// clauses.OrderSortDescending(),//default None
|
||||
// ))
|
||||
// OrderClauses(clauses.OrderClause(
|
||||
// clauses.OrderColumn(`random()`),
|
||||
// clauses.OrderSort(clauses.SortNone),
|
||||
// clauses.OrderRaw(true),
|
||||
// clauses.OrderSortNone(),//default None
|
||||
// clauses.OrderRaw(),//default false.if true, do not check field is valid or not
|
||||
// ))
|
||||
OrderClauses(orders ...*clauses.Order) QuerySeter
|
||||
// add FORCE INDEX expression.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user