#[repr(transparent)]pub struct Time(pub NaiveTime);
Tuple Fields§
§0: NaiveTime
Implementations§
source§impl Time
impl Time
pub fn with_secs_nano(secs: u32, nano: u32) -> Result<Self, InvalidParamsError>
pub fn from_protobuf(cur: &mut Cursor<&[u8]>) -> ArrayResult<Time>
pub fn to_protobuf<T: Write>(self, output: &mut T) -> ArrayResult<usize>
pub fn with_nano(nano: u64) -> Result<Self, InvalidParamsError>
pub fn with_micro(micro: u64) -> Result<Self, InvalidParamsError>
pub fn with_milli(milli: u32) -> Result<Self, InvalidParamsError>
pub fn from_hms_uncheck(hour: u32, min: u32, sec: u32) -> Self
pub fn from_hms_micro_uncheck(hour: u32, min: u32, sec: u32, micro: u32) -> Self
pub fn from_hms_nano_uncheck(hour: u32, min: u32, sec: u32, nano: u32) -> Self
pub fn from_num_seconds_from_midnight_uncheck(secs: u32, nano: u32) -> Self
Trait Implementations§
source§impl From<Interval> for Time
impl From<Interval> for Time
In PostgreSQL
, casting from interval to time discards the days part.
§Example
use std::str::FromStr;
use risingwave_common::types::{Interval, Time};
let interval = Interval::from_month_day_usec(1, 2, 61000003);
let time = Time::from(interval);
assert_eq!(time, Time::from_str("00:01:01.000003").unwrap());
let interval = Interval::from_month_day_usec(0, 0, -61000003);
let time = Time::from(interval);
assert_eq!(time, Time::from_str("23:58:58.999997").unwrap());
source§impl From<Time> for ScalarImpl
impl From<Time> for ScalarImpl
source§impl<'scalar> From<Time> for ScalarRefImpl<'scalar>
impl<'scalar> From<Time> for ScalarRefImpl<'scalar>
source§impl From<Timestamp> for Time
impl From<Timestamp> for Time
In PostgreSQL
, casting from timestamp to time discards the date part.
§Example
use std::str::FromStr;
use risingwave_common::types::{Time, Timestamp};
let ts = Timestamp::from_str("1999-01-08 04:02").unwrap();
let time = Time::from(ts);
assert_eq!(time, Time::from_str("04:02").unwrap());
source§impl FromIntoArrow for Time
impl FromIntoArrow for Time
source§impl FromIntoArrow for Time
impl FromIntoArrow for Time
source§impl<'a> FromSql<'a> for Time
impl<'a> FromSql<'a> for Time
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>>
Creates a new value of this type from a buffer of data of the specified
Postgres
Type
in its binary format. Read moresource§fn accepts(ty: &Type) -> bool
fn accepts(ty: &Type) -> bool
Determines if a value of this type can be created from the specified
Postgres
Type
.source§impl FromStr for Time
impl FromStr for Time
Parse a time from varchar.
§Example
use std::str::FromStr;
use risingwave_common::types::Time;
Time::from_str("04:05").unwrap();
Time::from_str("04:05:06").unwrap();
source§impl HashKeySer<'_> for Time
impl HashKeySer<'_> for Time
source§fn serialize_into(self, buf: impl BufMut)
fn serialize_into(self, buf: impl BufMut)
Serialize the scalar into the given buffer.
source§fn exact_size() -> Option<usize>
fn exact_size() -> Option<usize>
Returns
Some
if the serialized size is known for this scalar type.source§fn estimated_size(self) -> usize
fn estimated_size(self) -> usize
Returns the estimated serialized size for this scalar.
source§impl Ord for Time
impl Ord for Time
source§impl PartialOrd for Time
impl PartialOrd for Time
source§impl PrimitiveArrayItemType for Time
impl PrimitiveArrayItemType for Time
source§fn erase_array_type(arr: PrimitiveArray<Self>) -> ArrayImpl
fn erase_array_type(arr: PrimitiveArray<Self>) -> ArrayImpl
A helper to convert a primitive array to
ArrayImpl
.source§fn try_into_array(arr: ArrayImpl) -> Option<PrimitiveArray<Self>>
fn try_into_array(arr: ArrayImpl) -> Option<PrimitiveArray<Self>>
A helper to convert
ArrayImpl
to self.source§fn try_into_array_ref(arr: &ArrayImpl) -> Option<&PrimitiveArray<Self>>
fn try_into_array_ref(arr: &ArrayImpl) -> Option<&PrimitiveArray<Self>>
A helper to convert
ArrayImpl
to self.source§fn array_type() -> ArrayType
fn array_type() -> ArrayType
Returns array type of the primitive array
fn to_protobuf<T: Write>(self, output: &mut T) -> ArrayResult<usize>
fn from_protobuf(cur: &mut Cursor<&[u8]>) -> ArrayResult<Self>
source§impl Scalar for Time
impl Scalar for Time
Implement Scalar
for Time
.
source§type ScalarRefType<'a> = Time
type ScalarRefType<'a> = Time
Type for reference of
Scalar
source§fn as_scalar_ref(&self) -> Time
fn as_scalar_ref(&self) -> Time
Get a reference to current scalar.
fn to_scalar_value(self) -> ScalarImpl
source§impl ScalarRef<'_> for Time
impl ScalarRef<'_> for Time
Implement ScalarRef
for Time
.
source§type ScalarType = Time
type ScalarType = Time
ScalarType
is the owned type of current ScalarRef
.source§fn to_owned_scalar(&self) -> Time
fn to_owned_scalar(&self) -> Time
Convert
ScalarRef
to an owned scalar.source§fn hash_scalar<H: Hasher>(&self, state: &mut H)
fn hash_scalar<H: Hasher>(&self, state: &mut H)
A wrapped hash function to get the hash value for this scaler.
source§impl ToBinary for Time
impl ToBinary for Time
fn to_binary_with_type(&self, ty: &DataType) -> Result<Bytes, ToBinaryError>
source§impl ToSql for Time
impl ToSql for Time
source§fn accepts(ty: &Type) -> bool
fn accepts(ty: &Type) -> bool
Determines if a value of this type can be converted to the specified
Postgres
Type
.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>>
An adaptor method used internally by Rust-Postgres. Read more
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,
Converts the value of
self
into the binary format of the specified
Postgres Type
, appending it to out
. Read more§fn encode_format(&self, _ty: &Type) -> Format
fn encode_format(&self, _ty: &Type) -> Format
Specify the encode format
source§impl ToText for Time
impl ToText for Time
source§fn write<W: Write>(&self, f: &mut W) -> Result
fn write<W: Write>(&self, f: &mut W) -> Result
Write the text to the writer regardless of its data type Read more
source§fn write_with_type<W: Write>(&self, ty: &DataType, f: &mut W) -> Result
fn write_with_type<W: Write>(&self, ty: &DataType, f: &mut W) -> Result
Write the text to the writer according to its data type
source§fn to_text_with_type(&self, ty: &DataType) -> String
fn to_text_with_type(&self, ty: &DataType) -> String
Convert to text according to its data type
source§impl TryFrom<ScalarImpl> for Time
impl TryFrom<ScalarImpl> for Time
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.
source§impl<'scalar> TryFrom<ScalarRefImpl<'scalar>> for Time
impl<'scalar> TryFrom<ScalarRefImpl<'scalar>> for Time
source§type Error = ArrayError
type Error = ArrayError
The type returned in the event of a conversion error.
source§fn try_from(val: ScalarRefImpl<'scalar>) -> ArrayResult<Self>
fn try_from(val: ScalarRefImpl<'scalar>) -> ArrayResult<Self>
Performs the conversion.
source§impl<'a> WithDataType for &'a Time
impl<'a> WithDataType for &'a Time
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.source§impl<'a> WithDataType for &'a mut Time
impl<'a> WithDataType for &'a mut Time
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.source§impl WithDataType for Box<Time>
impl WithDataType for Box<Time>
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.source§impl WithDataType for Time
impl WithDataType for Time
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.impl Copy for Time
impl Eq for Time
impl StructuralPartialEq for Time
impl ZeroHeapSize for Time
Auto Trait Implementations§
impl Freeze for Time
impl RefUnwindSafe for Time
impl Send for Time
impl Sync for Time
impl Unpin for Time
impl UnwindSafe for Time
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
§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
Returns a reference to
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)
🔬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
source§impl<T> EstimateSize for Twhere
T: ZeroHeapSize,
impl<T> EstimateSize for Twhere
T: ZeroHeapSize,
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
.§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> ScalarPartialOrd for Twhere
T: PrimitiveArrayItemType + Scalar,
impl<T> ScalarPartialOrd for Twhere
T: PrimitiveArrayItemType + Scalar,
fn scalar_cmp(&self, other: T) -> Option<Ordering>
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
.