-
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
I expect no errors while executing the code below, but instead I get panic with interface conversion: interface {} is []main.Address, not []string error on go-clickhouse/ch/chschema/column.go:115.
package main
import (
"context"
"fmt"
"reflect"
"github.com/uptrace/go-clickhouse/ch"
)
type Address string
type ProblemStruct struct {
Addresses []Address `ch:"type:Array(String)"`
}
func main() {
var v = ProblemStruct{
Addresses: []Address{"1", "2"},
}
dsnCH := "clickhouse://localhost:9000/default?sslmode=disable"
chDB := ch.Connect(
ch.WithDSN(dsnCH), ch.WithAutoCreateDatabase(true), ch.WithPoolSize(16))
_, err := chDB.NewDropTable().
Model(new(ProblemStruct)).
IfExists().
Exec(context.Background())
if err != nil {
panic(err)
}
_, err = chDB.NewCreateTable().
Model(new(ProblemStruct)).
IfNotExists().
Engine("ReplacingMergeTree").
Exec(context.Background())
if err != nil {
panic(err)
}
_, err = chDB.NewInsert().Model(&v).Exec(context.Background())
if err != nil {
panic(err)
}
var got ProblemStruct
err = chDB.NewSelect().Model(&got).Scan(context.Background())
if err != nil {
panic(err)
}
if !reflect.DeepEqual(v, got) {
fmt.Printf("expected: %+v", v)
fmt.Printf("got: %+v", v)
panic(nil)
}
}Version: go-clickhouse@v0.3.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels