#[repr(transparent)]pub struct Date(pub NaiveDate);
Tuple Fields§
§0: NaiveDate
Implementations§
source§impl Date
impl Date
pub fn with_days_since_ce(days: i32) -> Result<Self, InvalidParamsError>
pub fn with_days_since_unix_epoch(days: i32) -> Result<Self, InvalidParamsError>
pub fn get_nums_days_unix_epoch(&self) -> i32
pub fn from_protobuf(cur: &mut Cursor<&[u8]>) -> ArrayResult<Date>
pub fn to_protobuf<T: Write>(self, output: &mut T) -> ArrayResult<usize>
pub fn from_ymd_uncheck(year: i32, month: u32, day: u32) -> Self
pub fn from_num_days_from_ce_uncheck(days: i32) -> Self
pub fn and_hms_uncheck(self, hour: u32, min: u32, sec: u32) -> Timestamp
pub fn and_hms_micro_uncheck( self, hour: u32, min: u32, sec: u32, micro: u32, ) -> Timestamp
Trait Implementations§
source§impl From<Date> for ScalarImpl
impl From<Date> for ScalarImpl
source§impl<'scalar> From<Date> for ScalarRefImpl<'scalar>
impl<'scalar> From<Date> for ScalarRefImpl<'scalar>
source§impl From<Timestamp> for Date
impl From<Timestamp> for Date
In PostgreSQL
, casting from timestamp to date discards the time part.
§Example
use std::str::FromStr;
use risingwave_common::types::{Date, Timestamp};
let ts = Timestamp::from_str("1999-01-08 04:02").unwrap();
let date = Date::from(ts);
assert_eq!(date, Date::from_str("1999-01-08").unwrap());
source§impl FromIntoArrow for Date
impl FromIntoArrow for Date
source§impl FromIntoArrow for Date
impl FromIntoArrow for Date
source§impl<'a> FromSql<'a> for Date
impl<'a> FromSql<'a> for Date
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 Date
impl FromStr for Date
Parse a date from varchar.
§Example
use std::str::FromStr;
use risingwave_common::types::Date;
Date::from_str("1999-01-08").unwrap();
source§impl HashKeySer<'_> for Date
impl HashKeySer<'_> for Date
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 Date
impl Ord for Date
source§impl PartialOrd for Date
impl PartialOrd for Date
source§impl PrimitiveArrayItemType for Date
impl PrimitiveArrayItemType for Date
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 Date
impl Scalar for Date
Implement Scalar
for Date
.
source§type ScalarRefType<'a> = Date
type ScalarRefType<'a> = Date
Type for reference of
Scalar
source§fn as_scalar_ref(&self) -> Date
fn as_scalar_ref(&self) -> Date
Get a reference to current scalar.
fn to_scalar_value(self) -> ScalarImpl
source§impl ScalarRef<'_> for Date
impl ScalarRef<'_> for Date
Implement ScalarRef
for Date
.
source§type ScalarType = Date
type ScalarType = Date
ScalarType
is the owned type of current ScalarRef
.source§fn to_owned_scalar(&self) -> Date
fn to_owned_scalar(&self) -> Date
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 Date
impl ToBinary for Date
fn to_binary_with_type(&self, ty: &DataType) -> Result<Bytes, ToBinaryError>
source§impl ToSql for Date
impl ToSql for Date
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 Date
impl ToText for Date
source§fn write<W: Write>(&self, f: &mut W) -> Result
fn write<W: Write>(&self, f: &mut W) -> Result
let date = Date::from_ymd_uncheck(2001, 5, 16);
assert_eq!(date.to_string(), "2001-05-16");
let date = Date::from_ymd_uncheck(1, 10, 26);
assert_eq!(date.to_string(), "0001-10-26");
let date = Date::from_ymd_uncheck(0, 10, 26);
assert_eq!(date.to_string(), "0001-10-26 BC");
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 Date
impl TryFrom<ScalarImpl> for Date
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 Date
impl<'scalar> TryFrom<ScalarRefImpl<'scalar>> for Date
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 Date
impl<'a> WithDataType for &'a Date
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 Date
impl<'a> WithDataType for &'a mut Date
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<Date>
impl WithDataType for Box<Date>
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.source§impl WithDataType for Date
impl WithDataType for Date
source§fn default_data_type() -> DataType
fn default_data_type() -> DataType
Returns the most obvious
DataType
for the rust type.impl Copy for Date
impl Eq for Date
impl StructuralPartialEq for Date
impl ZeroHeapSize for Date
Auto Trait Implementations§
impl Freeze for Date
impl RefUnwindSafe for Date
impl Send for Date
impl Sync for Date
impl Unpin for Date
impl UnwindSafe for Date
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
.