Instead of changing the signature of OrderBy just add OrderByWithArgs

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
Andrew Thornton 2022-05-29 13:29:32 +01:00
parent ccabd3adb3
commit 9c3cc96cb2
No known key found for this signature in database
GPG Key ID: 3CDE74631F13A748
4 changed files with 26 additions and 6 deletions

View File

@ -1006,10 +1006,17 @@ func (engine *Engine) Asc(colNames ...string) *Session {
}
// OrderBy will generate "ORDER BY order"
func (engine *Engine) OrderBy(order interface{}, args ...interface{}) *Session {
func (engine *Engine) OrderBy(order string) *Session {
session := engine.NewSession()
session.isAutoClose = true
return session.OrderBy(order, args...)
return session.OrderBy(order)
}
// OrderByWithArgs will generate "ORDER BY order"
func (engine *Engine) OrderByWithArgs(order interface{}, args ...interface{}) *Session {
session := engine.NewSession()
session.isAutoClose = true
return session.OrderByWithArgs(order, args...)
}
// Prepare enables prepare statement

View File

@ -54,7 +54,8 @@ type Interface interface {
Nullable(...string) *Session
Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session
Omit(columns ...string) *Session
OrderBy(order interface{}, args ...interface{}) *Session
OrderBy(order string) *Session
OrderByWithArgs(order interface{}, args ...interface{}) *Session
Ping() error
Query(sqlOrArgs ...interface{}) (resultsSlice []map[string][]byte, err error)
QueryInterface(sqlOrArgs ...interface{}) ([]map[string]interface{}, error)

View File

@ -457,7 +457,12 @@ func (statement *Statement) Limit(limit int, start ...int) *Statement {
}
// OrderBy generate "Order By order" statement
func (statement *Statement) OrderBy(order interface{}, args ...interface{}) *Statement {
func (statement *Statement) OrderBy(order string) *Statement {
return statement.OrderByWithArgs(order)
}
// OrderByWithArgs generate "Order By order" statement
func (statement *Statement) OrderByWithArgs(order interface{}, args ...interface{}) *Statement {
var rawOrder string
switch order.(type) {
case (*builder.Builder):

View File

@ -275,8 +275,15 @@ func (session *Session) Limit(limit int, start ...int) *Session {
// OrderBy provide order by query condition, the input parameter is the content
// after order by on a sql statement.
func (session *Session) OrderBy(order interface{}, args ...interface{}) *Session {
session.statement.OrderBy(order, args...)
func (session *Session) OrderBy(order string) *Session {
session.statement.OrderBy(order)
return session
}
// OrderByWithArgs provide order by query condition, the input parameter is the content
// after order by on a sql statement.
func (session *Session) OrderByWithArgs(order interface{}, args ...interface{}) *Session {
session.statement.OrderByWithArgs(order, args...)
return session
}