Struct mz_postgres_util::desc::PostgresColumnDesc
source · pub struct PostgresColumnDesc {
pub name: String,
pub col_num: u16,
pub type_oid: Oid,
pub type_mod: i32,
pub nullable: bool,
}
Expand description
Describes a column in a PostgresTableDesc
.
Fields§
§name: String
The name of the column.
col_num: u16
The column’s monotonic position in its table, i.e. “this was the _i_th column created” irrespective of the current number of columns.
type_oid: Oid
The OID of the column’s type.
type_mod: i32
The modifier for the column’s type.
nullable: bool
True if the column lacks a NOT NULL
constraint.
Implementations§
source§impl PostgresColumnDesc
impl PostgresColumnDesc
sourcefn is_compatible(
&self,
other: &PostgresColumnDesc,
allow_type_to_change_by_col_num: &BTreeSet<u16>,
) -> bool
fn is_compatible( &self, other: &PostgresColumnDesc, allow_type_to_change_by_col_num: &BTreeSet<u16>, ) -> bool
Determines if data a relation with a structure of other
can be treated
the same as self
.
Note that this function somewhat unnecessarily errors if the names differ; this is negotiable but we want users to understand the fixedness of names in our schemas.
Trait Implementations§
source§impl Arbitrary for PostgresColumnDesc
impl Arbitrary for PostgresColumnDesc
§type Parameters = (<String as Arbitrary>::Parameters, <u16 as Arbitrary>::Parameters, <u32 as Arbitrary>::Parameters, <i32 as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
type Parameters = (<String as Arbitrary>::Parameters, <u16 as Arbitrary>::Parameters, <u32 as Arbitrary>::Parameters, <i32 as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<String as Arbitrary>::Strategy, <u16 as Arbitrary>::Strategy, <u32 as Arbitrary>::Strategy, <i32 as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (String, u16, u32, i32, bool)) -> PostgresColumnDesc>
type Strategy = Map<(<String as Arbitrary>::Strategy, <u16 as Arbitrary>::Strategy, <u32 as Arbitrary>::Strategy, <i32 as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (String, u16, u32, i32, bool)) -> PostgresColumnDesc>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for PostgresColumnDesc
impl Clone for PostgresColumnDesc
source§fn clone(&self) -> PostgresColumnDesc
fn clone(&self) -> PostgresColumnDesc
Returns a copy 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 PostgresColumnDesc
impl Debug for PostgresColumnDesc
source§impl<'de> Deserialize<'de> for PostgresColumnDesc
impl<'de> Deserialize<'de> for PostgresColumnDesc
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for PostgresColumnDesc
impl PartialEq for PostgresColumnDesc
source§impl RustType<ProtoPostgresColumnDesc> for PostgresColumnDesc
impl RustType<ProtoPostgresColumnDesc> for PostgresColumnDesc
source§fn into_proto(&self) -> ProtoPostgresColumnDesc
fn into_proto(&self) -> ProtoPostgresColumnDesc
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoPostgresColumnDesc) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoPostgresColumnDesc) -> Result<Self, TryFromProtoError>
source§fn into_proto_owned(self) -> Proto
fn into_proto_owned(self) -> Proto
A zero clone version of
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.source§impl Serialize for PostgresColumnDesc
impl Serialize for PostgresColumnDesc
impl Eq for PostgresColumnDesc
impl StructuralPartialEq for PostgresColumnDesc
Auto Trait Implementations§
impl Freeze for PostgresColumnDesc
impl RefUnwindSafe for PostgresColumnDesc
impl Send for PostgresColumnDesc
impl Sync for PostgresColumnDesc
impl Unpin for PostgresColumnDesc
impl UnwindSafe for PostgresColumnDesc
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.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.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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> 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
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.