| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // DANGER! This code was autogenerated from template by clickhouse-go/lib/codegen/nullable_appender.
- // You shouldn't change it manually.
- // For more info check clickhouse-go/lib/codegen/nullable_appender/main.go
- package column
- import (
- "fmt"
- "net"
- "reflect"
- "time"
- )
- var nullableAppender = map[string]func(v interface{}, slice reflect.Value) (reflect.Value, error){
- "*int8": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(int8)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type int8")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *int8
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*int16": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(int16)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type int16")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *int16
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*int32": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(int32)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type int32")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *int32
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*int64": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(int64)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type int64")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *int64
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*uint8": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(uint8)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type uint8")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *uint8
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*uint16": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(uint16)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type uint16")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *uint16
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*uint32": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(uint32)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type uint32")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *uint32
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*uint64": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(uint64)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type uint64")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *uint64
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*float32": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(float32)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type float32")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *float32
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*float64": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(float64)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type float64")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *float64
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*string": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(string)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type string")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *string
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*time.Time": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(time.Time)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type time.Time")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *time.Time
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- "*net.IP": func(v interface{}, slice reflect.Value) (reflect.Value, error) {
- if v != nil {
- v, ok := v.(net.IP)
- if !ok {
- return slice, fmt.Errorf("cannot assert to type net.IP")
- }
- return reflect.Append(slice, reflect.ValueOf(&v)), nil
- }
- var vNil *net.IP
- return reflect.Append(slice, reflect.ValueOf(vNil)), nil
- },
- }
|