Fix lint errors #1631
|
@ -25,11 +25,10 @@ func strconvErr(err error) error {
|
||||||
func cloneBytes(b []byte) []byte {
|
func cloneBytes(b []byte) []byte {
|
||||||
if b == nil {
|
if b == nil {
|
||||||
return nil
|
return nil
|
||||||
} else {
|
|
||||||
c := make([]byte, len(b))
|
|
||||||
copy(c, b)
|
|
||||||
return c
|
|
||||||
}
|
}
|
||||||
|
c := make([]byte, len(b))
|
||||||
|
copy(c, b)
|
||||||
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
func asString(src interface{}) string {
|
func asString(src interface{}) string {
|
||||||
|
|
|
@ -44,14 +44,17 @@ type Engine struct {
|
||||||
DatabaseTZ *time.Location // The timezone of the database
|
DatabaseTZ *time.Location // The timezone of the database
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetCacher sets cacher for the table
|
||||||
func (engine *Engine) SetCacher(tableName string, cacher caches.Cacher) {
|
func (engine *Engine) SetCacher(tableName string, cacher caches.Cacher) {
|
||||||
engine.cacherMgr.SetCacher(tableName, cacher)
|
engine.cacherMgr.SetCacher(tableName, cacher)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCacher returns the cachher of the special table
|
||||||
func (engine *Engine) GetCacher(tableName string) caches.Cacher {
|
func (engine *Engine) GetCacher(tableName string) caches.Cacher {
|
||||||
return engine.cacherMgr.GetCacher(tableName)
|
return engine.cacherMgr.GetCacher(tableName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetQuotePolicy sets the special quote policy
|
||||||
func (engine *Engine) SetQuotePolicy(quotePolicy dialects.QuotePolicy) {
|
func (engine *Engine) SetQuotePolicy(quotePolicy dialects.QuotePolicy) {
|
||||||
engine.dialect.SetQuotePolicy(quotePolicy)
|
engine.dialect.SetQuotePolicy(quotePolicy)
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,6 +181,7 @@ func (eg *EngineGroup) SetPolicy(policy GroupPolicy) *EngineGroup {
|
||||||
return eg
|
return eg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetQuotePolicy sets the special quote policy
|
||||||
func (eg *EngineGroup) SetQuotePolicy(quotePolicy dialects.QuotePolicy) {
|
func (eg *EngineGroup) SetQuotePolicy(quotePolicy dialects.QuotePolicy) {
|
||||||
eg.Engine.SetQuotePolicy(quotePolicy)
|
eg.Engine.SetQuotePolicy(quotePolicy)
|
||||||
for i := 0; i < len(eg.slaves); i++ {
|
for i := 0; i < len(eg.slaves); i++ {
|
||||||
|
|
|
@ -51,6 +51,7 @@ func WeightRandomPolicy(weights []int) GroupPolicyHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RoundRobinPolicy returns a group policy handler
|
||||||
func RoundRobinPolicy() GroupPolicyHandler {
|
func RoundRobinPolicy() GroupPolicyHandler {
|
||||||
var pos = -1
|
var pos = -1
|
||||||
var lock sync.Mutex
|
var lock sync.Mutex
|
||||||
|
@ -68,6 +69,7 @@ func RoundRobinPolicy() GroupPolicyHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WeightRoundRobinPolicy returns a group policy handler
|
||||||
func WeightRoundRobinPolicy(weights []int) GroupPolicyHandler {
|
func WeightRoundRobinPolicy(weights []int) GroupPolicyHandler {
|
||||||
var rands = make([]int, 0, len(weights))
|
var rands = make([]int, 0, len(weights))
|
||||||
for i := 0; i < len(weights); i++ {
|
for i := 0; i < len(weights); i++ {
|
||||||
|
|
|
@ -485,7 +485,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
t.Error(errors.New("AfterInsertedViaExt is set"))
|
t.Error(errors.New("AfterInsertedViaExt is set"))
|
||||||
}
|
}
|
||||||
|
|
||||||
insertedId := p2.Id
|
insertedID := p2.Id
|
||||||
// --
|
// --
|
||||||
|
|
||||||
// test update processors with tx rollback
|
// test update processors with tx rollback
|
||||||
|
@ -513,7 +513,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
|
|
||||||
p = p2 // reset
|
p = p2 // reset
|
||||||
|
|
||||||
_, err = session.ID(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p)
|
_, err = session.ID(insertedID).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p.B4UpdateFlag == 0 {
|
if p.B4UpdateFlag == 0 {
|
||||||
|
@ -548,7 +548,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
session.Close()
|
session.Close()
|
||||||
|
|
||||||
p2 = &ProcessorsStruct{}
|
p2 = &ProcessorsStruct{}
|
||||||
_, err = testEngine.ID(insertedId).Get(p2)
|
_, err = testEngine.ID(insertedID).Get(p2)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p2.B4UpdateFlag != 0 {
|
if p2.B4UpdateFlag != 0 {
|
||||||
|
@ -572,7 +572,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
err = session.Begin()
|
err = session.Begin()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
p = &ProcessorsStruct{Id: insertedId}
|
p = &ProcessorsStruct{Id: insertedID}
|
||||||
|
|
||||||
_, err = session.Update(p)
|
_, err = session.Update(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -611,7 +611,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
|
|
||||||
p = &ProcessorsStruct{}
|
p = &ProcessorsStruct{}
|
||||||
|
|
||||||
_, err = session.ID(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p)
|
_, err = session.ID(insertedID).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p.B4UpdateFlag == 0 {
|
if p.B4UpdateFlag == 0 {
|
||||||
|
@ -645,7 +645,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
|
|
||||||
session.Close()
|
session.Close()
|
||||||
p2 = &ProcessorsStruct{}
|
p2 = &ProcessorsStruct{}
|
||||||
_, err = testEngine.ID(insertedId).Get(p2)
|
_, err = testEngine.ID(insertedID).Get(p2)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p.B4UpdateFlag == 0 {
|
if p.B4UpdateFlag == 0 {
|
||||||
|
@ -687,7 +687,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
|
|
||||||
p = &ProcessorsStruct{} // reset
|
p = &ProcessorsStruct{} // reset
|
||||||
|
|
||||||
_, err = session.ID(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p)
|
_, err = session.ID(insertedID).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p.B4DeleteFlag == 0 {
|
if p.B4DeleteFlag == 0 {
|
||||||
|
@ -721,7 +721,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
session.Close()
|
session.Close()
|
||||||
|
|
||||||
p2 = &ProcessorsStruct{}
|
p2 = &ProcessorsStruct{}
|
||||||
_, err = testEngine.ID(insertedId).Get(p2)
|
_, err = testEngine.ID(insertedID).Get(p2)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p2.B4DeleteFlag != 0 {
|
if p2.B4DeleteFlag != 0 {
|
||||||
|
@ -747,7 +747,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
|
|
||||||
p = &ProcessorsStruct{}
|
p = &ProcessorsStruct{}
|
||||||
|
|
||||||
_, err = session.ID(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p)
|
_, err = session.ID(insertedID).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
if p.B4DeleteFlag == 0 {
|
if p.B4DeleteFlag == 0 {
|
||||||
|
@ -788,7 +788,7 @@ func TestProcessorsTx(t *testing.T) {
|
||||||
err = session.Begin()
|
err = session.Begin()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
p = &ProcessorsStruct{Id: insertedId}
|
p = &ProcessorsStruct{Id: insertedID}
|
||||||
_, err = session.Delete(p)
|
_, err = session.Delete(p)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
|
|
@ -336,9 +336,9 @@ func TestInsertCreated(t *testing.T) {
|
||||||
assert.EqualValues(t, ci6.Created.Unix(), di6.Created.Unix())
|
assert.EqualValues(t, ci6.Created.Unix(), di6.Created.Unix())
|
||||||
}
|
}
|
||||||
|
|
||||||
type JsonTime time.Time
|
type JSONTime time.Time
|
||||||
|
|
||||||
func (j JsonTime) format() string {
|
func (j JSONTime) format() string {
|
||||||
t := time.Time(j)
|
t := time.Time(j)
|
||||||
if t.IsZero() {
|
if t.IsZero() {
|
||||||
return ""
|
return ""
|
||||||
|
@ -347,11 +347,11 @@ func (j JsonTime) format() string {
|
||||||
return t.Format("2006-01-02")
|
return t.Format("2006-01-02")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j JsonTime) MarshalText() ([]byte, error) {
|
func (j JSONTime) MarshalText() ([]byte, error) {
|
||||||
return []byte(j.format()), nil
|
return []byte(j.format()), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j JsonTime) MarshalJSON() ([]byte, error) {
|
func (j JSONTime) MarshalJSON() ([]byte, error) {
|
||||||
return []byte(`"` + j.format() + `"`), nil
|
return []byte(`"` + j.format() + `"`), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -359,40 +359,40 @@ func TestDefaultTime3(t *testing.T) {
|
||||||
type PrepareTask struct {
|
type PrepareTask struct {
|
||||||
Id int `xorm:"not null pk autoincr INT(11)" json:"id"`
|
Id int `xorm:"not null pk autoincr INT(11)" json:"id"`
|
||||||
// ...
|
// ...
|
||||||
StartTime JsonTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP index" json:"start_time"`
|
StartTime JSONTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP index" json:"start_time"`
|
||||||
EndTime JsonTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP" json:"end_time"`
|
EndTime JSONTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP" json:"end_time"`
|
||||||
Cuser string `xorm:"not null default '' VARCHAR(64) index" json:"cuser"`
|
Cuser string `xorm:"not null default '' VARCHAR(64) index" json:"cuser"`
|
||||||
Muser string `xorm:"not null default '' VARCHAR(64)" json:"muser"`
|
Muser string `xorm:"not null default '' VARCHAR(64)" json:"muser"`
|
||||||
Ctime JsonTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP created" json:"ctime"`
|
Ctime JSONTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP created" json:"ctime"`
|
||||||
Mtime JsonTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP updated" json:"mtime"`
|
Mtime JSONTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP updated" json:"mtime"`
|
||||||
}
|
}
|
||||||
|
|
||||||
assert.NoError(t, prepareEngine())
|
assert.NoError(t, prepareEngine())
|
||||||
assertSync(t, new(PrepareTask))
|
assertSync(t, new(PrepareTask))
|
||||||
|
|
||||||
prepareTask := &PrepareTask{
|
prepareTask := &PrepareTask{
|
||||||
StartTime: JsonTime(time.Now()),
|
StartTime: JSONTime(time.Now()),
|
||||||
Cuser: "userId",
|
Cuser: "userId",
|
||||||
Muser: "userId",
|
Muser: "userId",
|
||||||
}
|
}
|
||||||
cnt, err := testEngine.Omit("end_time").InsertOne(prepareTask)
|
cnt, err := testEngine.Omit("end_time").Insert(prepareTask)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, cnt)
|
assert.EqualValues(t, 1, cnt)
|
||||||
}
|
}
|
||||||
|
|
||||||
type MyJsonTime struct {
|
type MyJSONTime struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Created JsonTime `xorm:"created" json:"created_at"`
|
Created JSONTime `xorm:"created" json:"created_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCreatedJsonTime(t *testing.T) {
|
func TestCreatedJsonTime(t *testing.T) {
|
||||||
assert.NoError(t, prepareEngine())
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
di5 := new(MyJsonTime)
|
di5 := new(MyJSONTime)
|
||||||
err := testEngine.Sync2(di5)
|
err := testEngine.Sync2(di5)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
ci5 := &MyJsonTime{}
|
ci5 := &MyJSONTime{}
|
||||||
_, err = testEngine.Insert(ci5)
|
_, err = testEngine.Insert(ci5)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
@ -401,7 +401,7 @@ func TestCreatedJsonTime(t *testing.T) {
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.EqualValues(t, time.Time(ci5.Created).Unix(), time.Time(di5.Created).Unix())
|
assert.EqualValues(t, time.Time(ci5.Created).Unix(), time.Time(di5.Created).Unix())
|
||||||
|
|
||||||
var dis = make([]MyJsonTime, 0)
|
var dis = make([]MyJSONTime, 0)
|
||||||
err = testEngine.Find(&dis)
|
err = testEngine.Find(&dis)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -686,7 +686,7 @@ func TestCreatedUpdated(t *testing.T) {
|
||||||
|
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
|
|
||||||
c2.Value -= 1
|
c2.Value--
|
||||||
_, err = testEngine.ID(c2.Id).Update(c2)
|
_, err = testEngine.ID(c2.Id).Update(c2)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
@ -714,7 +714,7 @@ func TestCreatedUpdatedInt64(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
|
|
||||||
c2.Value -= 1
|
c2.Value--
|
||||||
_, err = testEngine.ID(c2.Id).Update(c2)
|
_, err = testEngine.ID(c2.Id).Update(c2)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
22
time_test.go
22
time_test.go
|
@ -360,27 +360,27 @@ func TestTimeUserDeletedDiffLoc(t *testing.T) {
|
||||||
fmt.Println("user3", user3.DeletedAt, user4.DeletedAt)
|
fmt.Println("user3", user3.DeletedAt, user4.DeletedAt)
|
||||||
}
|
}
|
||||||
|
|
||||||
type JsonDate time.Time
|
type JSONDate time.Time
|
||||||
|
|
||||||
func (j JsonDate) MarshalJSON() ([]byte, error) {
|
func (j JSONDate) MarshalJSON() ([]byte, error) {
|
||||||
if time.Time(j).IsZero() {
|
if time.Time(j).IsZero() {
|
||||||
return []byte(`""`), nil
|
return []byte(`""`), nil
|
||||||
}
|
}
|
||||||
return []byte(`"` + time.Time(j).Format("2006-01-02 15:04:05") + `"`), nil
|
return []byte(`"` + time.Time(j).Format("2006-01-02 15:04:05") + `"`), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *JsonDate) UnmarshalJSON(value []byte) error {
|
func (j *JSONDate) UnmarshalJSON(value []byte) error {
|
||||||
var v = strings.TrimSpace(strings.Trim(string(value), "\""))
|
var v = strings.TrimSpace(strings.Trim(string(value), "\""))
|
||||||
|
|
||||||
t, err := time.ParseInLocation("2006-01-02 15:04:05", v, time.Local)
|
t, err := time.ParseInLocation("2006-01-02 15:04:05", v, time.Local)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
*j = JsonDate(t)
|
*j = JSONDate(t)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *JsonDate) Unix() int64 {
|
func (j *JSONDate) Unix() int64 {
|
||||||
return (*time.Time)(j).Unix()
|
return (*time.Time)(j).Unix()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,9 +389,9 @@ func TestCustomTimeUserDeleted(t *testing.T) {
|
||||||
|
|
||||||
type UserDeleted3 struct {
|
type UserDeleted3 struct {
|
||||||
Id string
|
Id string
|
||||||
CreatedAt JsonDate `xorm:"created"`
|
CreatedAt JSONDate `xorm:"created"`
|
||||||
UpdatedAt JsonDate `xorm:"updated"`
|
UpdatedAt JSONDate `xorm:"updated"`
|
||||||
DeletedAt JsonDate `xorm:"deleted"`
|
DeletedAt JSONDate `xorm:"deleted"`
|
||||||
}
|
}
|
||||||
|
|
||||||
assertSync(t, new(UserDeleted3))
|
assertSync(t, new(UserDeleted3))
|
||||||
|
@ -442,9 +442,9 @@ func TestCustomTimeUserDeletedDiffLoc(t *testing.T) {
|
||||||
|
|
||||||
type UserDeleted4 struct {
|
type UserDeleted4 struct {
|
||||||
Id string
|
Id string
|
||||||
CreatedAt JsonDate `xorm:"created"`
|
CreatedAt JSONDate `xorm:"created"`
|
||||||
UpdatedAt JsonDate `xorm:"updated"`
|
UpdatedAt JSONDate `xorm:"updated"`
|
||||||
DeletedAt JsonDate `xorm:"deleted"`
|
DeletedAt JSONDate `xorm:"deleted"`
|
||||||
}
|
}
|
||||||
|
|
||||||
assertSync(t, new(UserDeleted4))
|
assertSync(t, new(UserDeleted4))
|
||||||
|
|
|
@ -302,10 +302,10 @@ type Status struct {
|
||||||
|
|
||||||
var (
|
var (
|
||||||
_ convert.Conversion = &Status{}
|
_ convert.Conversion = &Status{}
|
||||||
Registered Status = Status{"Registered", "white"}
|
Registered = Status{"Registered", "white"}
|
||||||
Approved Status = Status{"Approved", "green"}
|
Approved = Status{"Approved", "green"}
|
||||||
Removed Status = Status{"Removed", "red"}
|
Removed = Status{"Removed", "red"}
|
||||||
Statuses map[string]Status = map[string]Status{
|
Statuses = map[string]Status{
|
||||||
Registered.Name: Registered,
|
Registered.Name: Registered,
|
||||||
Approved.Name: Approved,
|
Approved.Name: Approved,
|
||||||
Removed.Name: Removed,
|
Removed.Name: Removed,
|
||||||
|
@ -316,9 +316,8 @@ func (s *Status) FromDB(bytes []byte) error {
|
||||||
if r, ok := Statuses[string(bytes)]; ok {
|
if r, ok := Statuses[string(bytes)]; ok {
|
||||||
*s = r
|
*s = r
|
||||||
return nil
|
return nil
|
||||||
} else {
|
|
||||||
return errors.New("no this data")
|
|
||||||
}
|
}
|
||||||
|
return errors.New("no this data")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Status) ToDB() ([]byte, error) {
|
func (s *Status) ToDB() ([]byte, error) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user