pub struct MapValue(ListValue);
Expand description
Refer to MapArray
for the invariants of a map value.
Tuple Fields§
§0: ListValue
Implementations§
source§impl MapValue
impl MapValue
pub fn inner(&self) -> &ListValue
pub fn into_inner(self) -> ListValue
sourcepub fn from_entries(entries: ListValue) -> Self
pub fn from_entries(entries: ListValue) -> Self
§Panics
Panics if map invariants are violated.
sourcepub fn try_from_entries(entries: ListValue) -> Result<Self, String>
pub fn try_from_entries(entries: ListValue) -> Result<Self, String>
Returns error if map invariants are violated.
sourcepub fn try_from_kv(key: ListValue, value: ListValue) -> Result<Self, String>
pub fn try_from_kv(key: ListValue, value: ListValue) -> Result<Self, String>
Returns error if map invariants are violated.
sourcepub fn concat(m1: MapRef<'_>, m2: MapRef<'_>) -> Self
pub fn concat(m1: MapRef<'_>, m2: MapRef<'_>) -> Self
§Panics
Panics if m1
and m2
have different types.
pub fn insert(m: MapRef<'_>, key: ScalarImpl, value: Datum) -> Self
pub fn delete(m: MapRef<'_>, key: ScalarRefImpl<'_>) -> Self
source§impl MapValue
impl MapValue
sourcepub fn memcmp_deserialize(
datatype: &MapType,
deserializer: &mut Deserializer<impl Buf>,
) -> Result<Self>
pub fn memcmp_deserialize( datatype: &MapType, deserializer: &mut Deserializer<impl Buf>, ) -> Result<Self>
Note: Map should not be used as key. But we don’t want to panic.
See MapArray
for the semantics. See also the Ord
implementation.
TODO: ban it in fe https://github.com/risingwavelabs/risingwave/issues/7981
source§impl MapValue
impl MapValue
pub fn from_str_for_test( s: &str, data_type: &MapType, ) -> Result<Self, BoxedError>
Trait Implementations§
source§impl EstimateSize for MapValue
impl EstimateSize for MapValue
source§fn estimated_heap_size(&self) -> usize
fn estimated_heap_size(&self) -> usize
The estimated heap size of the current struct in bytes.
source§fn estimated_size(&self) -> usizewhere
Self: Sized,
fn estimated_size(&self) -> usizewhere
Self: Sized,
The estimated total size of the current struct in bytes, including the
estimated_heap_size
and the size of Self
.source§impl From<MapValue> for ScalarImpl
impl From<MapValue> for ScalarImpl
source§impl HashKeyDe for MapValue
impl HashKeyDe for MapValue
fn deserialize(data_type: &DataType, buf: impl Buf) -> Self
source§impl Ord for MapValue
impl Ord for MapValue
source§impl PartialOrd for MapValue
impl PartialOrd for MapValue
source§impl Scalar for MapValue
impl Scalar for MapValue
source§type ScalarRefType<'a> = MapRef<'a>
type ScalarRefType<'a> = MapRef<'a>
Type for reference of
Scalar
source§fn as_scalar_ref(&self) -> MapRef<'_>
fn as_scalar_ref(&self) -> MapRef<'_>
Get a reference to current scalar.
fn to_scalar_value(self) -> ScalarImpl
source§impl TryFrom<ScalarImpl> for MapValue
impl TryFrom<ScalarImpl> for MapValue
source§type Error = ArrayError
type Error = ArrayError
The type returned in the event of a conversion error.
source§fn try_from(val: ScalarImpl) -> ArrayResult<Self>
fn try_from(val: ScalarImpl) -> ArrayResult<Self>
Performs the conversion.
impl Eq for MapValue
Auto Trait Implementations§
impl Freeze for MapValue
impl RefUnwindSafe for MapValue
impl Send for MapValue
impl Sync for MapValue
impl Unpin for MapValue
impl UnwindSafe for MapValue
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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
Checks if this value is equivalent to the given key. Read more
§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>
Converts
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>
Converts
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>
Wrap the input message
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>
Equivalent to
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>
Equivalent to
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>
Equivalent to
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>
Convert the datum to an owned
Datum
.