pub struct ColumnDesc {
pub data_type: DataType,
pub column_id: ColumnId,
pub name: String,
pub generated_or_default_column: Option<GeneratedOrDefaultColumn>,
pub description: Option<String>,
pub additional_column: AdditionalColumn,
pub version: ColumnDescVersion,
pub system_column: Option<SystemColumn>,
pub nullable: bool,
}Fields§
§data_type: DataType§column_id: ColumnId§name: String§generated_or_default_column: Option<GeneratedOrDefaultColumn>§description: Option<String>§additional_column: AdditionalColumn§version: ColumnDescVersion§system_column: Option<SystemColumn>Currently the system column is used for _rw_timestamp only and is generated at runtime,
so this field is not persisted.
nullable: boolWhether the column is nullable. If a column is not nullable, BatchInsert/BatchUpdate operations will throw an error when NULL is inserted/updated into. The row contains NULL for this column will be ignored when streaming data into the table.
Implementations§
Source§impl ColumnDesc
impl ColumnDesc
pub fn unnamed(column_id: ColumnId, data_type: DataType) -> ColumnDesc
pub fn named( name: impl Into<String>, column_id: ColumnId, data_type: DataType, ) -> ColumnDesc
pub fn named_with_default_value( name: impl Into<String>, column_id: ColumnId, data_type: DataType, snapshot_value: Datum, ) -> ColumnDesc
pub fn named_with_additional_column( name: impl Into<String>, column_id: ColumnId, data_type: DataType, additional_column_type: AdditionalColumn, ) -> ColumnDesc
pub fn named_with_system_column( name: impl Into<String>, column_id: ColumnId, data_type: DataType, system_column: SystemColumn, ) -> ColumnDesc
Sourcepub fn to_protobuf(&self) -> PbColumnDesc
pub fn to_protobuf(&self) -> PbColumnDesc
Convert to proto
pub fn from_field_with_column_id(field: &Field, id: i32) -> Self
pub fn from_field_without_column_id(field: &Field) -> Self
pub fn is_generated(&self) -> bool
pub fn get_id_to_op_idx_mapping( columns: &[impl AsRef<Self>], output_col_ids: Option<&[usize]>, ) -> HashMap<ColumnId, usize>
fn get_id_to_op_idx_mapping_inner( columns: &[impl AsRef<Self>], output_col_ids: impl Iterator<Item = usize>, ) -> HashMap<ColumnId, usize>
Trait Implementations§
Source§impl AsRef<ColumnDesc> for ColumnCatalog
impl AsRef<ColumnDesc> for ColumnCatalog
Source§fn as_ref(&self) -> &ColumnDesc
fn as_ref(&self) -> &ColumnDesc
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl AsRef<ColumnDesc> for ColumnDesc
impl AsRef<ColumnDesc> for ColumnDesc
Source§fn as_ref(&self) -> &ColumnDesc
fn as_ref(&self) -> &ColumnDesc
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl Clone for ColumnDesc
impl Clone for ColumnDesc
Source§fn clone(&self) -> ColumnDesc
fn clone(&self) -> ColumnDesc
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ColumnDesc
impl Debug for ColumnDesc
Source§impl FieldLike for ColumnDesc
impl FieldLike for ColumnDesc
Source§impl From<&ColumnDesc> for ColumnDesc
impl From<&ColumnDesc> for ColumnDesc
Source§fn from(prost: &PbColumnDesc) -> Self
fn from(prost: &PbColumnDesc) -> Self
Converts to this type from the input type.
Source§impl From<&ColumnDesc> for PbColumnDesc
impl From<&ColumnDesc> for PbColumnDesc
Source§fn from(c: &ColumnDesc) -> Self
fn from(c: &ColumnDesc) -> Self
Converts to this type from the input type.
Source§impl From<&ColumnDesc> for Field
impl From<&ColumnDesc> for Field
Source§fn from(desc: &ColumnDesc) -> Self
fn from(desc: &ColumnDesc) -> Self
Converts to this type from the input type.
Source§impl From<ColumnDesc> for ColumnDesc
impl From<ColumnDesc> for ColumnDesc
Source§fn from(prost: PbColumnDesc) -> Self
fn from(prost: PbColumnDesc) -> Self
Converts to this type from the input type.
Source§impl From<ColumnDesc> for Field
impl From<ColumnDesc> for Field
Source§fn from(column_desc: ColumnDesc) -> Self
fn from(column_desc: ColumnDesc) -> Self
Converts to this type from the input type.
Source§impl Hash for ColumnDesc
impl Hash for ColumnDesc
Source§impl PartialEq for ColumnDesc
impl PartialEq for ColumnDesc
impl Eq for ColumnDesc
impl StructuralPartialEq for ColumnDesc
Auto Trait Implementations§
impl Freeze for ColumnDesc
impl RefUnwindSafe for ColumnDesc
impl Send for ColumnDesc
impl Sync for ColumnDesc
impl Unpin for ColumnDesc
impl UnwindSafe for ColumnDesc
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,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§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<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
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SameOrElseExt for Twhere
T: Eq,
impl<T> SameOrElseExt for Twhere
T: Eq,
Source§fn same_or_else(self, other: T, f: impl FnOnce() -> T) -> T
fn same_or_else(self, other: T, f: impl FnOnce() -> T) -> T
Check if
self and other are equal, if so, return self, otherwise return the result of f().