in cassandra-bigtable-migration-tools/cassandra-bigtable-proxy/utilities/utils.go [386:416]
func TypeConversion(s any, protocalV primitive.ProtocolVersion) ([]byte, error) {
var bytes []byte
var err error
switch v := s.(type) {
case string:
bytes, err = proxycore.EncodeType(datatype.Varchar, protocalV, v)
case time.Time:
bytes, err = proxycore.EncodeType(datatype.Timestamp, protocalV, v)
case []byte:
bytes, err = proxycore.EncodeType(datatype.Blob, protocalV, v)
case int64:
bytes, err = proxycore.EncodeType(datatype.Bigint, protocalV, v)
case int:
bytes, err = proxycore.EncodeType(datatype.Int, protocalV, v)
case bool:
bytes, err = proxycore.EncodeType(datatype.Boolean, protocalV, v)
case map[string]string:
bytes, err = proxycore.EncodeType(MapOfStrToStr, protocalV, v)
case float64:
bytes, err = proxycore.EncodeType(datatype.Double, protocalV, v)
case float32:
bytes, err = proxycore.EncodeType(datatype.Float, protocalV, v)
case []string:
bytes, err = proxycore.EncodeType(SetOfStr, protocalV, v)
default:
err = fmt.Errorf("%v - %v", "Unknown Datatype Identified", s)
}
return bytes, err
}