diff --git a/internal/statements/statement.go b/internal/statements/statement.go index 056e8feb..1d92b842 100644 --- a/internal/statements/statement.go +++ b/internal/statements/statement.go @@ -163,7 +163,7 @@ func (statement *Statement) Reset() { // SQL adds raw sql statement func (statement *Statement) SQL(query interface{}, args ...interface{}) *Statement { switch t := query.(type) { - case (*builder.Builder): + case *builder.Builder: var err error statement.RawSQL, statement.RawParams, err = t.ToSQL() if err != nil { @@ -609,7 +609,7 @@ func (statement *Statement) BuildConds(table *schemas.Table, bean interface{}, i // MergeConds merge conditions from bean and id func (statement *Statement) MergeConds(bean interface{}) error { if !statement.NoAutoCondition && statement.RefTable != nil { - addedTableName := (len(statement.joins) > 0) + addedTableName := len(statement.joins) > 0 autoCond, err := statement.BuildConds(statement.RefTable, bean, true, true, false, true, addedTableName) if err != nil { return err diff --git a/tests/session_insert_test.go b/tests/session_insert_test.go index 3ae126eb..85d02e12 100644 --- a/tests/session_insert_test.go +++ b/tests/session_insert_test.go @@ -943,7 +943,7 @@ func TestMultipleInsertTableName(t *testing.T) { assert.NoError(t, testEngine.Table(tableName).Sync(new(NightlyRate))) trans := testEngine.NewSession() - defer trans.Close() + defer func(trans *xorm.Session) { _ = trans.Close() }(trans) err := trans.Begin() assert.NoError(t, err) @@ -1031,7 +1031,7 @@ func TestInsertTwice(t *testing.T) { } ssn := testEngine.NewSession() - defer ssn.Close() + defer func(ssn *xorm.Session) { _ = ssn.Close() }(ssn) err := ssn.Begin() assert.NoError(t, err) @@ -1226,7 +1226,8 @@ func TestInsertNotDeleted(t *testing.T) { DeletedAt time.Time `xorm:"'DELETED_AT' deleted"` } - assert.NoError(t, testEngine.Sync(new(TestInsertNotDeletedStruct))) + err = testEngine.Sync(new(TestInsertNotDeletedStruct)) + assert.NoError(t, err) var v1 TestInsertNotDeletedStructNotRight _, err = testEngine.Insert(&v1) @@ -1264,7 +1265,8 @@ func TestInsertNotDeletedNum(t *testing.T) { DeletedAt int64 `xorm:"'DELETED_AT' deleted INT(11)"` } - assert.NoError(t, testEngine.Sync(new(TestInsertNotDeletedNumStruct))) + err = testEngine.Sync(new(TestInsertNotDeletedNumStruct)) + assert.NoError(t, err) var v1 TestInsertNotDeletedNumStructNotRight _, err = testEngine.Insert(&v1) @@ -1289,37 +1291,39 @@ func TestInsertNotDeletedNum(t *testing.T) { func TestInsertNotDeletedTimeStamp(t *testing.T) { assert.NoError(t, PrepareEngine()) - type TestInsertNotDeletedTimeStampStructNotRight struct { - ID uint64 `xorm:"'ID' pk autoincr"` - DeletedAt time.Time `xorm:"'DELETED_AT' deleted notnull TIMESTAMP"` - } - // notnull tag will be ignored - err := testEngine.Sync(new(TestInsertNotDeletedTimeStampStructNotRight)) - assert.NoError(t, err) + + // UTC time from 1970-01-01 00:00:01.000000 to 2038-01-19 03:14:07.999999 + //type TestInsertNotDeletedTimeStampStructNotRight struct { + // ID uint64 `xorm:"'ID' pk autoincr"` + // DeletedAt time.Time `xorm:"'DELETED_AT' deleted notnull TIMESTAMP"` + //} + //// notnull tag will be ignored + //err := testEngine.Sync(new(TestInsertNotDeletedTimeStampStructNotRight)) + //assert.NoError(t, err) type TestInsertNotDeletedTimeStampStruct struct { ID uint64 `xorm:"'ID' pk autoincr"` DeletedAt time.Time `xorm:"'DELETED_AT' deleted TIMESTAMP"` } - - assert.NoError(t, testEngine.Sync(new(TestInsertNotDeletedTimeStampStruct))) - - var v1 TestInsertNotDeletedTimeStampStructNotRight - _, err = testEngine.Insert(&v1) + err := testEngine.Sync(new(TestInsertNotDeletedTimeStampStruct)) assert.NoError(t, err) - var v2 TestInsertNotDeletedTimeStampStructNotRight - has, err := testEngine.Get(&v2) - assert.NoError(t, err) - assert.True(t, has) - assert.Equal(t, v2.DeletedAt, time.Unix(0, 0)) + //var v1 TestInsertNotDeletedTimeStampStructNotRight + //_, err = testEngine.Insert(&v1) + //assert.NoError(t, err) + // + //var v2 TestInsertNotDeletedTimeStampStructNotRight + //has, err := testEngine.Get(&v2) + //assert.NoError(t, err) + //assert.True(t, has) + //assert.Equal(t, v2.DeletedAt, time.Unix(0, 0)) var v3 TestInsertNotDeletedTimeStampStruct _, err = testEngine.Insert(&v3) assert.NoError(t, err) var v4 TestInsertNotDeletedTimeStampStruct - has, err = testEngine.Get(&v4) + has, err := testEngine.Get(&v4) assert.NoError(t, err) assert.True(t, has) assert.Equal(t, v4.DeletedAt, time.Time{})