Path: blob/main/crates/polars-plan/src/dsl/function_expr/binary.rs
8420 views
#[cfg(feature = "serde")]1use serde::{Deserialize, Serialize};23use super::*;45#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]6#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]7#[derive(Clone, PartialEq, Debug, Hash)]8pub enum BinaryFunction {9Contains,10StartsWith,11EndsWith,12#[cfg(feature = "binary_encoding")]13HexDecode(bool),14#[cfg(feature = "binary_encoding")]15HexEncode,16#[cfg(feature = "binary_encoding")]17Base64Decode(bool),18#[cfg(feature = "binary_encoding")]19Base64Encode,20Size,21#[cfg(feature = "binary_encoding")]22/// The parameters are destination type, and whether to use little endian23/// encoding.24Reinterpret(DataTypeExpr, bool),25Slice,26Head,27Tail,28Get(bool),29}3031impl Display for BinaryFunction {32fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {33use BinaryFunction::*;34let s = match self {35Contains => "contains",36StartsWith => "starts_with",37EndsWith => "ends_with",38#[cfg(feature = "binary_encoding")]39HexDecode(_) => "hex_decode",40#[cfg(feature = "binary_encoding")]41HexEncode => "hex_encode",42#[cfg(feature = "binary_encoding")]43Base64Decode(_) => "base64_decode",44#[cfg(feature = "binary_encoding")]45Base64Encode => "base64_encode",46Size => "size_bytes",47#[cfg(feature = "binary_encoding")]48Reinterpret(_, _) => "reinterpret",49Slice => "slice",50Head => "head",51Tail => "tail",52Get(_) => "get",53};54write!(f, "bin.{s}")55}56}575859