pub enum ScalarImpl {
Show 20 variants
Int16(i16),
Int32(i32),
Int64(i64),
Int256(Int256),
Float32(F32),
Float64(F64),
Utf8(Box<str>),
Bool(bool),
Decimal(Decimal),
Interval(Interval),
Date(Date),
Time(Time),
Timestamp(Timestamp),
Timestamptz(Timestamptz),
Jsonb(JsonbVal),
Serial(Serial),
Struct(StructValue),
List(ListValue),
Map(MapValue),
Bytea(Box<[u8]>),
}
Expand description
ScalarImpl
embeds all possible scalars in the evaluation framework.
Note: ScalarImpl
doesn’t contain all information of its DataType
,
so sometimes they need to be used together.
e.g., for Struct
, we don’t have the field names in the value.
See for_all_variants
for the definition.
Variants§
Int16(i16)
Int32(i32)
Int64(i64)
Int256(Int256)
Float32(F32)
Float64(F64)
Utf8(Box<str>)
Bool(bool)
Decimal(Decimal)
Interval(Interval)
Date(Date)
Time(Time)
Timestamp(Timestamp)
Timestamptz(Timestamptz)
Jsonb(JsonbVal)
Serial(Serial)
Struct(StructValue)
List(ListValue)
Map(MapValue)
Bytea(Box<[u8]>)
Implementations§
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_float32(&self) -> &F32
pub fn as_float32(&self) -> &F32
§Panics
If the scalar is not of the expected type.
sourcepub fn into_float32(self) -> F32
pub fn into_float32(self) -> F32
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_float64(&self) -> &F64
pub fn as_float64(&self) -> &F64
§Panics
If the scalar is not of the expected type.
sourcepub fn into_float64(self) -> F64
pub fn into_float64(self) -> F64
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_decimal(&self) -> &Decimal
pub fn as_decimal(&self) -> &Decimal
§Panics
If the scalar is not of the expected type.
sourcepub fn into_decimal(self) -> Decimal
pub fn into_decimal(self) -> Decimal
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_interval(&self) -> &Interval
pub fn as_interval(&self) -> &Interval
§Panics
If the scalar is not of the expected type.
sourcepub fn into_interval(self) -> Interval
pub fn into_interval(self) -> Interval
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_timestamp(&self) -> &Timestamp
pub fn as_timestamp(&self) -> &Timestamp
§Panics
If the scalar is not of the expected type.
sourcepub fn into_timestamp(self) -> Timestamp
pub fn into_timestamp(self) -> Timestamp
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_timestamptz(&self) -> &Timestamptz
pub fn as_timestamptz(&self) -> &Timestamptz
§Panics
If the scalar is not of the expected type.
sourcepub fn into_timestamptz(self) -> Timestamptz
pub fn into_timestamptz(self) -> Timestamptz
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_struct(&self) -> &StructValue
pub fn as_struct(&self) -> &StructValue
§Panics
If the scalar is not of the expected type.
sourcepub fn into_struct(self) -> StructValue
pub fn into_struct(self) -> StructValue
§Panics
If the scalar is not of the expected type.
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn from_binary(
bytes: &Bytes,
data_type: &DataType,
) -> Result<Self, BoxedError>
pub fn from_binary( bytes: &Bytes, data_type: &DataType, ) -> Result<Self, BoxedError>
Creates a scalar from pgwire “BINARY” format.
The counterpart of to_binary::ToBinary
.
sourcepub fn from_text(s: &str, data_type: &DataType) -> Result<Self, BoxedError>
pub fn from_text(s: &str, data_type: &DataType) -> Result<Self, BoxedError>
Creates a scalar from pgwire “TEXT” format.
The counterpart of ToText
.
pub fn from_text_for_test( s: &str, data_type: &DataType, ) -> Result<Self, BoxedError>
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn as_scalar_ref_impl(&self) -> ScalarRefImpl<'_>
pub fn as_scalar_ref_impl(&self) -> ScalarRefImpl<'_>
Converts ScalarImpl
to ScalarRefImpl
source§impl ScalarImpl
impl ScalarImpl
sourcepub fn serialize(&self, ser: &mut Serializer<impl BufMut>) -> Result<()>
pub fn serialize(&self, ser: &mut Serializer<impl BufMut>) -> Result<()>
Serialize the scalar into the memcomparable
format.
sourcepub fn deserialize(
ty: &DataType,
de: &mut Deserializer<impl Buf>,
) -> Result<Self>
pub fn deserialize( ty: &DataType, de: &mut Deserializer<impl Buf>, ) -> Result<Self>
Deserialize the scalar from the memcomparable
format.
pub fn as_integral(&self) -> i64
Trait Implementations§
source§impl Clone for ScalarImpl
impl Clone for ScalarImpl
source§fn clone(&self) -> ScalarImpl
fn clone(&self) -> ScalarImpl
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ScalarImpl
impl Debug for ScalarImpl
source§impl DefaultOrd for ScalarImpl
impl DefaultOrd for ScalarImpl
fn default_cmp(&self, other: &Self) -> Ordering
source§impl DefaultPartialOrd for ScalarImpl
impl DefaultPartialOrd for ScalarImpl
fn default_partial_cmp(&self, other: &Self) -> Option<Ordering>
source§impl EstimateSize for ScalarImpl
impl EstimateSize for ScalarImpl
source§fn estimated_heap_size(&self) -> usize
fn estimated_heap_size(&self) -> usize
source§fn estimated_size(&self) -> usizewhere
Self: Sized,
fn estimated_size(&self) -> usizewhere
Self: Sized,
estimated_heap_size
and the size of Self
.source§impl From<&[u8]> for ScalarImpl
impl From<&[u8]> for ScalarImpl
source§impl<'a> From<&'a ScalarImpl> for ScalarRefImpl<'a>
impl<'a> From<&'a ScalarImpl> for ScalarRefImpl<'a>
source§fn from(scalar: &'a ScalarImpl) -> Self
fn from(scalar: &'a ScalarImpl) -> Self
source§impl From<&String> for ScalarImpl
impl From<&String> for ScalarImpl
source§impl From<&str> for ScalarImpl
impl From<&str> for ScalarImpl
source§impl From<Bytes> for ScalarImpl
impl From<Bytes> for ScalarImpl
source§impl From<Date> for ScalarImpl
impl From<Date> for ScalarImpl
source§impl From<Decimal> for ScalarImpl
impl From<Decimal> for ScalarImpl
source§impl From<Int256> for ScalarImpl
impl From<Int256> for ScalarImpl
source§impl From<Interval> for ScalarImpl
impl From<Interval> for ScalarImpl
source§impl From<JsonbRef<'_>> for ScalarImpl
impl From<JsonbRef<'_>> for ScalarImpl
source§impl From<JsonbVal> for ScalarImpl
impl From<JsonbVal> for ScalarImpl
source§impl From<ListRef<'_>> for ScalarImpl
impl From<ListRef<'_>> for ScalarImpl
source§impl From<ListValue> for ScalarImpl
impl From<ListValue> for ScalarImpl
source§impl From<MapValue> for ScalarImpl
impl From<MapValue> for ScalarImpl
source§impl From<OrderedFloat<f32>> for ScalarImpl
impl From<OrderedFloat<f32>> for ScalarImpl
source§impl From<OrderedFloat<f64>> for ScalarImpl
impl From<OrderedFloat<f64>> for ScalarImpl
source§impl From<ScalarRefImpl<'_>> for ScalarImpl
impl From<ScalarRefImpl<'_>> for ScalarImpl
source§fn from(scalar_ref: ScalarRefImpl<'_>) -> Self
fn from(scalar_ref: ScalarRefImpl<'_>) -> Self
source§impl From<Serial> for ScalarImpl
impl From<Serial> for ScalarImpl
source§impl From<String> for ScalarImpl
impl From<String> for ScalarImpl
source§impl From<StructValue> for ScalarImpl
impl From<StructValue> for ScalarImpl
source§fn from(val: StructValue) -> Self
fn from(val: StructValue) -> Self
source§impl From<Time> for ScalarImpl
impl From<Time> for ScalarImpl
source§impl From<Timestamp> for ScalarImpl
impl From<Timestamp> for ScalarImpl
source§impl From<Timestamptz> for ScalarImpl
impl From<Timestamptz> for ScalarImpl
source§fn from(val: Timestamptz) -> Self
fn from(val: Timestamptz) -> Self
source§impl<T: PrimitiveArrayItemType> From<Vec<Option<T>>> for ScalarImpl
impl<T: PrimitiveArrayItemType> From<Vec<Option<T>>> for ScalarImpl
source§impl<T: PrimitiveArrayItemType> From<Vec<T>> for ScalarImpl
impl<T: PrimitiveArrayItemType> From<Vec<T>> for ScalarImpl
source§impl From<bool> for ScalarImpl
impl From<bool> for ScalarImpl
source§impl From<char> for ScalarImpl
impl From<char> for ScalarImpl
source§impl From<f32> for ScalarImpl
impl From<f32> for ScalarImpl
source§impl From<f64> for ScalarImpl
impl From<f64> for ScalarImpl
source§impl From<i16> for ScalarImpl
impl From<i16> for ScalarImpl
source§impl From<i32> for ScalarImpl
impl From<i32> for ScalarImpl
source§impl From<i64> for ScalarImpl
impl From<i64> for ScalarImpl
source§impl<'a> FromSql<'a> for ScalarImpl
impl<'a> FromSql<'a> for ScalarImpl
source§fn from_sql(
ty: &Type,
raw: &'a [u8],
) -> Result<Self, Box<dyn Error + Sync + Send>>
fn from_sql( ty: &Type, raw: &'a [u8], ) -> Result<Self, Box<dyn Error + Sync + Send>>
Type
in its binary format. Read moresource§fn accepts(ty: &Type) -> bool
fn accepts(ty: &Type) -> bool
Type
.source§impl Hash for ScalarImpl
impl Hash for ScalarImpl
source§impl PartialEq for ScalarImpl
impl PartialEq for ScalarImpl
source§impl ToSql for ScalarImpl
impl ToSql for ScalarImpl
source§fn to_sql_checked(
&self,
ty: &Type,
out: &mut BytesMut,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>
fn to_sql_checked( &self, ty: &Type, out: &mut BytesMut, ) -> Result<IsNull, Box<dyn Error + Sync + Send>>
source§fn to_sql(
&self,
ty: &Type,
out: &mut BytesMut,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
fn to_sql(
&self,
ty: &Type,
out: &mut BytesMut,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
self
into the binary format of the specified
Postgres Type
, appending it to out
. Read moresource§fn accepts(_ty: &Type) -> boolwhere
Self: Sized,
fn accepts(_ty: &Type) -> boolwhere
Self: Sized,
Type
.§fn encode_format(&self, _ty: &Type) -> Format
fn encode_format(&self, _ty: &Type) -> Format
source§impl TryFrom<ScalarImpl> for Box<[u8]>
impl TryFrom<ScalarImpl> for Box<[u8]>
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Box<str>
impl TryFrom<ScalarImpl> for Box<str>
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Date
impl TryFrom<ScalarImpl> for Date
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Decimal
impl TryFrom<ScalarImpl> for Decimal
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Int256
impl TryFrom<ScalarImpl> for Int256
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Interval
impl TryFrom<ScalarImpl> for Interval
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for JsonbVal
impl TryFrom<ScalarImpl> for JsonbVal
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for ListValue
impl TryFrom<ScalarImpl> for ListValue
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for MapValue
impl TryFrom<ScalarImpl> for MapValue
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for F32
impl TryFrom<ScalarImpl> for F32
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for F64
impl TryFrom<ScalarImpl> for F64
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Serial
impl TryFrom<ScalarImpl> for Serial
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for String
impl TryFrom<ScalarImpl> for String
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for StructValue
impl TryFrom<ScalarImpl> for StructValue
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Time
impl TryFrom<ScalarImpl> for Time
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Timestamp
impl TryFrom<ScalarImpl> for Timestamp
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for Timestamptz
impl TryFrom<ScalarImpl> for Timestamptz
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for bool
impl TryFrom<ScalarImpl> for bool
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for i16
impl TryFrom<ScalarImpl> for i16
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for i32
impl TryFrom<ScalarImpl> for i32
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
source§impl TryFrom<ScalarImpl> for i64
impl TryFrom<ScalarImpl> for i64
source§type Error = ArrayError
type Error = ArrayError
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
impl Eq for ScalarImpl
impl !PartialOrd for ScalarImpl
impl StructuralPartialEq for ScalarImpl
Auto Trait Implementations§
impl Freeze for ScalarImpl
impl RefUnwindSafe for ScalarImpl
impl Send for ScalarImpl
impl Sync for ScalarImpl
impl Unpin for ScalarImpl
impl UnwindSafe for ScalarImpl
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> BorrowToSql for Twhere
T: ToSql,
impl<T> BorrowToSql for Twhere
T: ToSql,
§fn borrow_to_sql(&self) -> &dyn ToSql
fn borrow_to_sql(&self) -> &dyn ToSql
self
as a ToSql
trait object.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level
.source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n
.source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n
with metric_level
set to
MetricLevel::Debug
and relabel_num
set to 1.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ToOwnedDatum for Twhere
T: Into<ScalarImpl>,
impl<T> ToOwnedDatum for Twhere
T: Into<ScalarImpl>,
source§fn to_owned_datum(self) -> Option<ScalarImpl>
fn to_owned_datum(self) -> Option<ScalarImpl>
Datum
.