This commit is contained in:
John Guo
2025-02-28 12:26:47 +08:00
parent dd8817f8b1
commit dae543c140
2 changed files with 126 additions and 124 deletions

View File

@ -17,6 +17,7 @@ import (
"github.com/gogf/gf/v2/container/garray"
"github.com/gogf/gf/v2/container/gmap"
"github.com/gogf/gf/v2/container/gvar"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/errors/gcode"
@ -3988,14 +3989,14 @@ func Test_ScanList_NoRecreate_PtrAttribute(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4008,12 +4009,12 @@ func Test_ScanList_NoRecreate_PtrAttribute(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"age": gdb.NewValue(20),
"id": gvar.New(1),
"age": gvar.New(20),
},
gdb.Record{
"id": gdb.NewValue(2),
"age": gdb.NewValue(21),
"id": gvar.New(2),
"age": gvar.New(21),
},
}
err = r2.ScanList(&s, "One", "One", "id:Id")
@ -4044,14 +4045,14 @@ func Test_ScanList_NoRecreate_StructAttribute(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4064,12 +4065,12 @@ func Test_ScanList_NoRecreate_StructAttribute(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"age": gdb.NewValue(20),
"id": gvar.New(1),
"age": gvar.New(20),
},
gdb.Record{
"id": gdb.NewValue(2),
"age": gdb.NewValue(21),
"id": gvar.New(2),
"age": gvar.New(21),
},
}
err = r2.ScanList(&s, "One", "One", "id:Id")
@ -4108,14 +4109,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4128,16 +4129,16 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(30),
"name": gdb.NewValue("john"),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(30),
"name": gvar.New("john"),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(31),
"name": gdb.NewValue("smith"),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(31),
"name": gvar.New("smith"),
},
}
err = r2.ScanList(&s, "Many", "One", "pid:Id")
@ -4158,14 +4159,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
r3 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(40),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(40),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(41),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(41),
},
}
err = r3.ScanList(&s, "Many", "One", "pid:Id")
@ -4212,14 +4213,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4232,16 +4233,16 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(30),
"name": gdb.NewValue("john"),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(30),
"name": gvar.New("john"),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(31),
"name": gdb.NewValue("smith"),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(31),
"name": gvar.New("smith"),
},
}
err = r2.ScanList(&s, "Many", "One", "pid:Id")
@ -4262,14 +4263,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
r3 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(40),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(40),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(41),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(41),
},
}
err = r3.ScanList(&s, "Many", "One", "pid:Id")
@ -4300,8 +4301,8 @@ func TestResult_Structs1(t *testing.T) {
}
gtest.C(t, func(t *gtest.T) {
r := gdb.Result{
gdb.Record{"id": gdb.NewValue(nil), "name": gdb.NewValue("john")},
gdb.Record{"id": gdb.NewValue(nil), "name": gdb.NewValue("smith")},
gdb.Record{"id": gvar.New(nil), "name": gvar.New("john")},
gdb.Record{"id": gvar.New(nil), "name": gvar.New("smith")},
}
array := make([]*B, 2)
err := r.Structs(&array)

View File

@ -17,6 +17,7 @@ import (
"github.com/gogf/gf/v2/container/garray"
"github.com/gogf/gf/v2/container/gmap"
"github.com/gogf/gf/v2/container/gvar"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/errors/gcode"
@ -4036,14 +4037,14 @@ func Test_ScanList_NoRecreate_PtrAttribute(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4056,12 +4057,12 @@ func Test_ScanList_NoRecreate_PtrAttribute(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"age": gdb.NewValue(20),
"id": gvar.New(1),
"age": gvar.New(20),
},
gdb.Record{
"id": gdb.NewValue(2),
"age": gdb.NewValue(21),
"id": gvar.New(2),
"age": gvar.New(21),
},
}
err = r2.ScanList(&s, "One", "One", "id:Id")
@ -4092,14 +4093,14 @@ func Test_ScanList_NoRecreate_StructAttribute(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4112,12 +4113,12 @@ func Test_ScanList_NoRecreate_StructAttribute(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"age": gdb.NewValue(20),
"id": gvar.New(1),
"age": gvar.New(20),
},
gdb.Record{
"id": gdb.NewValue(2),
"age": gdb.NewValue(21),
"id": gvar.New(2),
"age": gvar.New(21),
},
}
err = r2.ScanList(&s, "One", "One", "id:Id")
@ -4156,14 +4157,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4176,16 +4177,16 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(30),
"name": gdb.NewValue("john"),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(30),
"name": gvar.New("john"),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(31),
"name": gdb.NewValue("smith"),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(31),
"name": gvar.New("smith"),
},
}
err = r2.ScanList(&s, "Many", "One", "pid:Id")
@ -4206,14 +4207,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Ptr(t *testing.T) {
r3 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(40),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(40),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(41),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(41),
},
}
err = r3.ScanList(&s, "Many", "One", "pid:Id")
@ -4260,14 +4261,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
)
r1 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(1),
"name": gdb.NewValue("john"),
"age": gdb.NewValue(16),
"id": gvar.New(1),
"name": gvar.New("john"),
"age": gvar.New(16),
},
gdb.Record{
"id": gdb.NewValue(2),
"name": gdb.NewValue("smith"),
"age": gdb.NewValue(18),
"id": gvar.New(2),
"name": gvar.New("smith"),
"age": gvar.New(18),
},
}
err = r1.ScanList(&s, "One")
@ -4280,16 +4281,16 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
r2 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(30),
"name": gdb.NewValue("john"),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(30),
"name": gvar.New("john"),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(31),
"name": gdb.NewValue("smith"),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(31),
"name": gvar.New("smith"),
},
}
err = r2.ScanList(&s, "Many", "One", "pid:Id")
@ -4310,14 +4311,14 @@ func Test_ScanList_NoRecreate_SliceAttribute_Struct(t *testing.T) {
r3 := gdb.Result{
gdb.Record{
"id": gdb.NewValue(100),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(40),
"id": gvar.New(100),
"pid": gvar.New(1),
"age": gvar.New(40),
},
gdb.Record{
"id": gdb.NewValue(200),
"pid": gdb.NewValue(1),
"age": gdb.NewValue(41),
"id": gvar.New(200),
"pid": gvar.New(1),
"age": gvar.New(41),
},
}
err = r3.ScanList(&s, "Many", "One", "pid:Id")
@ -4348,8 +4349,8 @@ func TestResult_Structs1(t *testing.T) {
}
gtest.C(t, func(t *gtest.T) {
r := gdb.Result{
gdb.Record{"id": gdb.NewValue(nil), "name": gdb.NewValue("john")},
gdb.Record{"id": gdb.NewValue(nil), "name": gdb.NewValue("smith")},
gdb.Record{"id": gvar.New(nil), "name": gvar.New("john")},
gdb.Record{"id": gvar.New(nil), "name": gvar.New("smith")},
}
array := make([]*B, 2)
err := r.Structs(&array)