#[non_exhaustive]pub enum TypeAnnotationCode {
Unspecified,
PgNumeric,
PgJsonb,
PgOid,
UnknownValue(UnknownValue),
}Expand description
TypeAnnotationCode is used as a part of Type to
disambiguate SQL types that should be used for a given Cloud Spanner value.
Disambiguation is needed because the same Cloud Spanner type can be mapped to
different SQL types depending on SQL dialect. TypeAnnotationCode doesn’t
affect the way value is serialized.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Not specified.
PgNumeric
PostgreSQL compatible NUMERIC type. This annotation needs to be applied to Type instances having NUMERIC type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed for NUMERIC when a client interacts with PostgreSQL-enabled Spanner databases.
PgJsonb
PostgreSQL compatible JSONB type. This annotation needs to be applied to Type instances having JSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for JSON when a client interacts with PostgreSQL-enabled Spanner databases.
PgOid
PostgreSQL compatible OID type. This annotation can be used by a client interacting with PostgreSQL-enabled Spanner database to specify that a value should be treated using the semantics of the OID type.
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using TypeAnnotationCode::value or TypeAnnotationCode::name.
Implementations§
Trait Implementations§
Source§impl Clone for TypeAnnotationCode
impl Clone for TypeAnnotationCode
Source§fn clone(&self) -> TypeAnnotationCode
fn clone(&self) -> TypeAnnotationCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TypeAnnotationCode
impl Debug for TypeAnnotationCode
Source§impl Default for TypeAnnotationCode
impl Default for TypeAnnotationCode
Source§impl<'de> Deserialize<'de> for TypeAnnotationCode
impl<'de> Deserialize<'de> for TypeAnnotationCode
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>,
Source§impl Display for TypeAnnotationCode
impl Display for TypeAnnotationCode
Source§impl From<&str> for TypeAnnotationCode
impl From<&str> for TypeAnnotationCode
Source§impl From<i32> for TypeAnnotationCode
impl From<i32> for TypeAnnotationCode
Source§impl PartialEq for TypeAnnotationCode
impl PartialEq for TypeAnnotationCode
Source§fn eq(&self, other: &TypeAnnotationCode) -> bool
fn eq(&self, other: &TypeAnnotationCode) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for TypeAnnotationCode
impl Serialize for TypeAnnotationCode
impl StructuralPartialEq for TypeAnnotationCode
Auto Trait Implementations§
impl Freeze for TypeAnnotationCode
impl RefUnwindSafe for TypeAnnotationCode
impl Send for TypeAnnotationCode
impl Sync for TypeAnnotationCode
impl Unpin for TypeAnnotationCode
impl UnsafeUnpin for TypeAnnotationCode
impl UnwindSafe for TypeAnnotationCode
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
T in a tonic::Request