2 Commits

Author SHA1 Message Date
b612 2185a61564 add support for BLOB 2023-05-16 16:49:14 +08:00
b612 fb9808a139 go mod support 2022-03-14 12:32:48 +08:00
3 changed files with 13 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
module b612.me/stardb
go 1.16
+4
View File
@@ -82,6 +82,10 @@ func (star *StarRows) setAllRefValue(stc interface{}, skey string, rows int) err
v.Field(i).SetFloat(star.Row(rows).MustFloat64(seg))
case reflect.Float32:
v.Field(i).SetFloat(float64(star.Row(rows).MustFloat32(seg)))
case reflect.Slice, reflect.Array:
if v.Field(i).Elem().Kind() == reflect.Uint8 {
v.Field(i).SetBytes(star.Row(rows).MustBytes(seg))
}
case reflect.Interface, reflect.Struct, reflect.Ptr:
inf := star.Row(rows).Result[star.columnref[seg]]
switch vtype := inf.(type) {
+6
View File
@@ -9,6 +9,7 @@ type Useless struct {
Leader string `db:"leader"`
Usable bool `db:"use"`
O *Whoami `db:"---"`
Data []byte `db:"data"`
}
type Whoami struct {
@@ -29,10 +30,15 @@ func TestUpInOrm(t *testing.T) {
func Test_SetRefVal(t *testing.T) {
var hehe = Useless{
Leader: "no",
Data: []byte{1, 2, 3},
}
fmt.Printf("%+v\n", hehe)
fmt.Println(setRefValue(&hehe, "db", "leader", "sb"))
fmt.Printf("%+v\n", hehe)
fmt.Println(getAllRefKey(hehe, "db"))
fmt.Println(getAllRefValue(hehe, "db"))
fmt.Println(setRefValue(&hehe, "db", "data", []byte{4, 5, 6, 7, 8}))
fmt.Printf("%+v\n", hehe)
fmt.Println(getAllRefKey(hehe, "db"))
fmt.Println(getAllRefValue(hehe, "db"))