Fix test
This commit is contained in:
parent
2f60b3be0b
commit
889333da7b
|
@ -34,8 +34,28 @@ func (db *db2) Init(uri *URI) error {
|
|||
return db.Base.Init(db, uri)
|
||||
}
|
||||
|
||||
func (db *db2) Version(context.Context, core.Queryer) (*schemas.Version, error) {
|
||||
return nil, fmt.Errorf("not implementation")
|
||||
func (db *db2) Version(ctx context.Context, queryer core.Queryer) (*schemas.Version, error) {
|
||||
rows, err := queryer.QueryContext(ctx, "SELECT service_level, fixpack_num FROM TABLE(sysproc.env_get_inst_info()) as INSTANCEINFO")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
if rows.Next() {
|
||||
var serviceLevel, fixpackNum string
|
||||
if err := rows.Scan(&serviceLevel, &fixpackNum); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
parts := strings.Split(serviceLevel, " ")
|
||||
return &schemas.Version{
|
||||
Number: parts[1],
|
||||
Level: fixpackNum,
|
||||
Edition: parts[0],
|
||||
}, nil
|
||||
}
|
||||
|
||||
return nil, rows.Err()
|
||||
}
|
||||
|
||||
func (db *db2) Features() *DialectFeatures {
|
||||
|
@ -65,7 +85,7 @@ func (db *db2) SQLType(c *schemas.Column) string {
|
|||
return res
|
||||
case schemas.UnsignedBigInt:
|
||||
return schemas.BigInt
|
||||
case schemas.UnsignedInt:
|
||||
case schemas.UnsignedInt, schemas.BigInt:
|
||||
return schemas.BigInt
|
||||
case schemas.Int, schemas.Integer:
|
||||
return schemas.Integer
|
||||
|
|
|
@ -169,7 +169,7 @@ func TestDumpTables(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.NoError(t, sess.Commit())
|
||||
|
||||
for _, tp := range []schemas.DBType{schemas.SQLITE, schemas.MYSQL, schemas.POSTGRES, schemas.MSSQL} {
|
||||
for _, tp := range []schemas.DBType{schemas.SQLITE, schemas.MYSQL, schemas.POSTGRES, schemas.MSSQL, schemas.DB2} {
|
||||
name := fmt.Sprintf("dump_%v-table.sql", tp)
|
||||
t.Run(name, func(t *testing.T) {
|
||||
assert.NoError(t, testEngine.(*xorm.Engine).DumpTablesToFile([]*schemas.Table{tb}, name, tp))
|
||||
|
|
|
@ -215,7 +215,7 @@ func TestFindAndCount(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
|
||||
var results []FindAndCount
|
||||
sess := testEngine.Where("name = ?", "test1")
|
||||
sess := testEngine.Where("`name` = ?", "test1")
|
||||
conds := sess.Conds()
|
||||
err = sess.Find(&results)
|
||||
assert.NoError(t, err)
|
||||
|
|
|
@ -63,7 +63,7 @@ func TestSQLCount(t *testing.T) {
|
|||
|
||||
assertSync(t, new(UserinfoCount2), new(UserinfoBooks))
|
||||
|
||||
total, err := testEngine.SQL("SELECT count(id) FROM " + testEngine.TableName("userinfo_count2", true)).
|
||||
total, err := testEngine.SQL("SELECT count(`id`) FROM " + testEngine.Quote(testEngine.TableName("userinfo_count2", true))).
|
||||
Count()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 0, total)
|
||||
|
@ -89,7 +89,7 @@ func TestCountWithOthers(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
total, err := testEngine.OrderBy("id desc").Limit(1).Count(new(CountWithOthers))
|
||||
total, err := testEngine.OrderBy("`id` desc").Limit(1).Count(new(CountWithOthers))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
}
|
||||
|
@ -118,11 +118,11 @@ func TestWithTableName(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
total, err := testEngine.OrderBy("id desc").Count(new(CountWithTableName))
|
||||
total, err := testEngine.OrderBy("`id` desc").Count(new(CountWithTableName))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
|
||||
total, err = testEngine.OrderBy("id desc").Count(CountWithTableName{})
|
||||
total, err = testEngine.OrderBy("`id` desc").Count(CountWithTableName{})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ func TestCountWithSelectCols(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
|
||||
total, err = testEngine.Select("count(id)").Count(CountWithTableName{})
|
||||
total, err = testEngine.Select("count(`id`)").Count(CountWithTableName{})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ func TestCountWithGroupBy(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
cnt, err := testEngine.GroupBy("name").Count(new(CountWithTableName))
|
||||
cnt, err := testEngine.GroupBy("`name`").Count(new(CountWithTableName))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, cnt)
|
||||
}
|
||||
|
|
|
@ -48,19 +48,19 @@ func TestExistStruct(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
||||
has, err = testEngine.Where("`name` = ?", "test1").Exist(&RecordExist{})
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.Where("name = ?", "test2").Exist(&RecordExist{})
|
||||
has, err = testEngine.Where("`name` = ?", "test2").Exist(&RecordExist{})
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName("record_exist", true)+" where name = ?", "test1").Exist()
|
||||
has, err = testEngine.SQL("select * from "+testEngine.Quote(testEngine.TableName("record_exist", true))+" where `name` = ?", "test1").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName("record_exist", true)+" where name = ?", "test2").Exist()
|
||||
has, err = testEngine.SQL("select * from "+testEngine.Quote(testEngine.TableName("record_exist", true))+" where `name` = ?", "test2").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
|
@ -68,11 +68,11 @@ func TestExistStruct(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||
has, err = testEngine.Table("record_exist").Where("`name` = ?", "test1").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test2").Exist()
|
||||
has, err = testEngine.Table("record_exist").Where("`name` = ?", "test2").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
|
@ -124,43 +124,43 @@ func TestExistStructForJoin(t *testing.T) {
|
|||
defer session.Close()
|
||||
|
||||
session.Table("number").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid").
|
||||
Where("number.lid = ?", 1)
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`").
|
||||
Where("`number`.`lid` = ?", 1)
|
||||
has, err := session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
session.Table("number").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid").
|
||||
Where("number.lid = ?", 2)
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`").
|
||||
Where("`number`.`lid` = ?", 2)
|
||||
has, err = session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
session.Table("number").
|
||||
Select("order_list.id").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid").
|
||||
Where("order_list.id = ?", 1)
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`").
|
||||
Where("`order_list`.`id` = ?", 1)
|
||||
has, err = session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
session.Table("number").
|
||||
Select("player.id").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid").
|
||||
Where("player.id = ?", 2)
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`").
|
||||
Where("`player`.`id` = ?", 2)
|
||||
has, err = session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
session.Table("number").
|
||||
Select("player.id").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid")
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`")
|
||||
has, err = session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
@ -174,15 +174,15 @@ func TestExistStructForJoin(t *testing.T) {
|
|||
|
||||
session.Table("number").
|
||||
Select("player.id").
|
||||
Join("INNER", "order_list", "order_list.id = number.lid").
|
||||
Join("LEFT", "player", "player.id = order_list.eid")
|
||||
Join("INNER", "order_list", "`order_list`.`id` = `number`.`lid`").
|
||||
Join("LEFT", "player", "`player`.`id` = `order_list`.`eid`")
|
||||
has, err = session.Exist()
|
||||
assert.Error(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
session.Table("number").
|
||||
Select("player.id").
|
||||
Join("LEFT", "player", "player.id = number.lid")
|
||||
Join("LEFT", "player", "`player`.`id` = `number`.`lid`")
|
||||
has, err = session.Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
|
|
@ -56,8 +56,8 @@ func TestJoinLimit(t *testing.T) {
|
|||
|
||||
var salaries []Salary
|
||||
err = testEngine.Table("salary").
|
||||
Join("INNER", "check_list", "check_list.id = salary.lid").
|
||||
Join("LEFT", "empsetting", "empsetting.id = check_list.eid").
|
||||
Join("INNER", "check_list", "`check_list`.`id` = `salary`.`lid`").
|
||||
Join("LEFT", "empsetting", "`empsetting`.`id` = `check_list`.`eid`").
|
||||
Limit(10, 0).
|
||||
Find(&salaries)
|
||||
assert.NoError(t, err)
|
||||
|
@ -69,10 +69,10 @@ func TestWhere(t *testing.T) {
|
|||
assertSync(t, new(Userinfo))
|
||||
|
||||
users := make([]Userinfo, 0)
|
||||
err := testEngine.Where("id > ?", 2).Find(&users)
|
||||
err := testEngine.Where("`id` > ?", 2).Find(&users)
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = testEngine.Where("id > ?", 2).And("id < ?", 10).Find(&users)
|
||||
err = testEngine.Where("`id` > ?", 2).And("`id` < ?", 10).Find(&users)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue