Package path refactor.
This commit is contained in:
parent
829736279b
commit
83d4c5ad03
72 changed files with 162 additions and 188 deletions
|
|
@ -1,59 +0,0 @@
|
|||
// Query building functions for expressions components
|
||||
package sqlbuilder
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type intervalExpression struct {
|
||||
expressionInterfaceImpl
|
||||
duration time.Duration
|
||||
}
|
||||
|
||||
const intervalSep = ":"
|
||||
|
||||
func (c *intervalExpression) serialize(statement statementType, out *queryData, options ...serializeOption) error {
|
||||
out.writeString("INTERVAL '")
|
||||
|
||||
duration := c.duration
|
||||
|
||||
if duration < 0 {
|
||||
duration = -duration
|
||||
out.writeString("-")
|
||||
}
|
||||
|
||||
hours := duration / time.Hour
|
||||
minutes := (duration % time.Hour) / time.Minute
|
||||
sec := (duration % time.Minute) / time.Second
|
||||
msec := (duration % time.Second) / time.Microsecond
|
||||
|
||||
out.writeString(strconv.FormatInt(int64(hours), 10))
|
||||
out.writeString(intervalSep)
|
||||
out.writeString(strconv.FormatInt(int64(minutes), 10))
|
||||
out.writeString(intervalSep)
|
||||
out.writeString(strconv.FormatInt(int64(sec), 10))
|
||||
out.writeString(intervalSep)
|
||||
out.writeString(strconv.FormatInt(int64(msec), 10))
|
||||
out.writeString("' HOUR_MICROSECOND")
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
//// Interval returns a representation of duration
|
||||
//func Interval(duration time.Duration) expressions {
|
||||
// intervalExp := &intervalExpression{
|
||||
// duration: duration,
|
||||
// }
|
||||
//
|
||||
// intervalExp.expressionInterfaceImpl.parent = intervalExp
|
||||
//
|
||||
// return intervalExp
|
||||
//}
|
||||
|
||||
var likeEscaper = strings.NewReplacer("_", "\\_", "%", "\\%")
|
||||
|
||||
func EscapeForLike(s string) string {
|
||||
return likeEscaper.Replace(s)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue