mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-10-04 16:25:19 +00:00
Exposing the Oid of PostgreSQL types (#2507)
* Exposing the Oid of PostgreSQL types * Do not panic if OID is not set * Update sqlx-postgres/src/type_info.rs Co-authored-by: Austin Bonander <austin.bonander@gmail.com> * cargo fmt --------- Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
This commit is contained in:
parent
c2e54eae6f
commit
87ff6457b9
@ -166,6 +166,25 @@ impl PgTypeInfo {
|
|||||||
self.0.kind()
|
self.0.kind()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the OID for this type, if available.
|
||||||
|
///
|
||||||
|
/// The OID may not be available if SQLx only knows the type by name.
|
||||||
|
/// It will have to be resolved by a `PgConnection` at runtime which
|
||||||
|
/// will yield a new and semantically distinct `TypeInfo` instance.
|
||||||
|
///
|
||||||
|
/// This method does not perform any such lookup.
|
||||||
|
///
|
||||||
|
/// ### Note
|
||||||
|
/// With the exception of [the default `pg_type` catalog][pg_type], type OIDs are *not* stable in PostgreSQL.
|
||||||
|
/// If a type is added by an extension, its OID will be assigned when the `CREATE EXTENSION` statement is executed,
|
||||||
|
/// and so can change depending on what extensions are installed and in what order, as well as the exact
|
||||||
|
/// version of PostgreSQL.
|
||||||
|
///
|
||||||
|
/// [pg_type]: https://github.com/postgres/postgres/blob/master/src/include/catalog/pg_type.dat
|
||||||
|
pub fn oid(&self) -> Option<Oid> {
|
||||||
|
self.0.try_oid()
|
||||||
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub fn __type_feature_gate(&self) -> Option<&'static str> {
|
pub fn __type_feature_gate(&self) -> Option<&'static str> {
|
||||||
if [
|
if [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user