fix bug
This commit is contained in:
parent
4e3c631aa0
commit
82d071d07f
|
@ -138,7 +138,7 @@ func (session *Session) nocacheGet(beanKind reflect.Kind, table *core.Table, bea
|
||||||
return true, err
|
return true, err
|
||||||
}
|
}
|
||||||
if res.Valid {
|
if res.Valid {
|
||||||
*(bean.(*int)) = int(res.Int64)
|
*(bean.(*int8)) = int8(res.Int64)
|
||||||
}
|
}
|
||||||
return true, nil
|
return true, nil
|
||||||
case *int16:
|
case *int16:
|
||||||
|
|
|
@ -10,8 +10,8 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"xorm.io/core"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"xorm.io/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGetVar(t *testing.T) {
|
func TestGetVar(t *testing.T) {
|
||||||
|
@ -56,6 +56,69 @@ func TestGetVar(t *testing.T) {
|
||||||
assert.Equal(t, true, has)
|
assert.Equal(t, true, has)
|
||||||
assert.EqualValues(t, 28, age2)
|
assert.EqualValues(t, 28, age2)
|
||||||
|
|
||||||
|
var age3 int8
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").Get(&age3)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age3)
|
||||||
|
|
||||||
|
var age4 int16
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").
|
||||||
|
Where("age > ?", 20).
|
||||||
|
And("age < ?", 30).
|
||||||
|
Get(&age4)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age4)
|
||||||
|
|
||||||
|
var age5 int32
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").
|
||||||
|
Where("age > ?", 20).
|
||||||
|
And("age < ?", 30).
|
||||||
|
Get(&age5)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age5)
|
||||||
|
|
||||||
|
var age6 int
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").Get(&age6)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age6)
|
||||||
|
|
||||||
|
var age7 int64
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").
|
||||||
|
Where("age > ?", 20).
|
||||||
|
And("age < ?", 30).
|
||||||
|
Get(&age7)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age7)
|
||||||
|
|
||||||
|
var age8 int8
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").Get(&age8)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age8)
|
||||||
|
|
||||||
|
var age9 int16
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").
|
||||||
|
Where("age > ?", 20).
|
||||||
|
And("age < ?", 30).
|
||||||
|
Get(&age9)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age9)
|
||||||
|
|
||||||
|
var age10 int32
|
||||||
|
has, err = testEngine.Table("get_var").Cols("age").
|
||||||
|
Where("age > ?", 20).
|
||||||
|
And("age < ?", 30).
|
||||||
|
Get(&age10)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, true, has)
|
||||||
|
assert.EqualValues(t, 28, age10)
|
||||||
|
|
||||||
var id sql.NullInt64
|
var id sql.NullInt64
|
||||||
has, err = testEngine.Table("get_var").Cols("id").Get(&id)
|
has, err = testEngine.Table("get_var").Cols("id").Get(&id)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -466,4 +529,52 @@ func TestGetNullVar(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.EqualValues(t, 0, age2)
|
assert.EqualValues(t, 0, age2)
|
||||||
|
|
||||||
|
var age3 int16
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age3)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age3)
|
||||||
|
|
||||||
|
var age4 int32
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age4)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age4)
|
||||||
|
|
||||||
|
var age5 int64
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age5)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age5)
|
||||||
|
|
||||||
|
var age6 uint
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age6)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age6)
|
||||||
|
|
||||||
|
var age7 uint8
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age7)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age7)
|
||||||
|
|
||||||
|
var age8 int16
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age8)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age8)
|
||||||
|
|
||||||
|
var age9 int32
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age9)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age9)
|
||||||
|
|
||||||
|
var age10 int64
|
||||||
|
has, err = testEngine.Table(new(TestGetNullVarStruct)).Where("id = ?", 1).Cols("age").Get(&age10)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, has)
|
||||||
|
assert.EqualValues(t, 0, age10)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue