Path: blob/main/crates/polars-plan/src/dsl/function_expr/binary.rs
6940 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),25}2627impl Display for BinaryFunction {28fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {29use BinaryFunction::*;30let s = match self {31Contains => "contains",32StartsWith => "starts_with",33EndsWith => "ends_with",34#[cfg(feature = "binary_encoding")]35HexDecode(_) => "hex_decode",36#[cfg(feature = "binary_encoding")]37HexEncode => "hex_encode",38#[cfg(feature = "binary_encoding")]39Base64Decode(_) => "base64_decode",40#[cfg(feature = "binary_encoding")]41Base64Encode => "base64_encode",42Size => "size_bytes",43#[cfg(feature = "binary_encoding")]44Reinterpret(_, _) => "reinterpret",45};46write!(f, "bin.{s}")47}48}495051