func()

in datahub/binaryrecord.go [344:374]


func (bRecord *binaryRecord) convertToUInt64(data interface{}) (uint64, error) {
	var val uint64
	switch v := data.(type) {
	case Tinyint:
		val = uint64(v)
	case Smallint:
		val = uint64(v)
	case Integer:
		val = uint64(v)
	case Bigint:
		val = uint64(v)
	case Timestamp:
		val = uint64(v)
	case Float:
		fVal := float32(v)
		bits := math.Float32bits(fVal)
		val = uint64(bits)
	case Double:
		fVal := float64(v)
		val = math.Float64bits(fVal)
	case Boolean:
		if v {
			val = uint64(1)
		} else {
			val = uint64(0)
		}
	default:
		return 0, fmt.Errorf("value type[%T] not match field type", reflect.ValueOf(val))
	}
	return val, nil
}