pub enum ColumnType {
Show 39 variants
SmallInteger,
Integer,
BigInteger,
Oid,
Xid,
Boolean,
Text,
Name,
Uuid,
Varchar(Option<u32>),
Bpchar,
Character(u32),
Real,
DoublePrecision,
Numeric {
precision: Option<u32>,
scale: Option<i32>,
},
Json,
JsonB,
Bytea,
InternalChar,
Regproc,
Regclass,
Regnamespace,
Regtype,
PgNodeTree,
AclItem,
Int2Vector,
OidVector,
AnyArray,
Record,
Array(Box<ColumnType>),
Date,
Time,
TimeTz,
Timestamp,
TimestampTz,
Interval,
Vector(u32),
Tensor(u32),
Domain {
schema: String,
name: String,
oid: u32,
base: Box<ColumnType>,
},
}Variants§
SmallInteger
Integer
BigInteger
Oid
PostgreSQL object identifier (pg_catalog.oid).
Xid
PostgreSQL transaction identifier (pg_catalog.xid).
Boolean
Text
Name
Uuid
Varchar(Option<u32>)
Bpchar
Internal unconstrained bpchar type used after common-type selection.
Character(u32)
PostgreSQL blank-padded CHARACTER(n) / CHAR(n) (bpchar).
The length counts Unicode scalar values and defaults to one when the
declaration omits an explicit modifier.
Real
DoublePrecision
Numeric
NUMERIC(precision, scale) – exact decimal storage. When
scale is Some(s) the engine rounds INSERT values to s
fractional digits. precision is captured for round-tripping
the catalog text but is not currently enforced.
Json
JSON / JSONB columns store typed JSON values.
JsonB
JSONB columns store typed JSON values with PostgreSQL JSONB operators.
Bytea
BYTEA columns store opaque bytes.
InternalChar
PostgreSQL’s internal single-byte "char" catalog type.
Regproc
Regclass
PostgreSQL relation object identifier (pg_catalog.regclass).
Regnamespace
PostgreSQL namespace object identifier (pg_catalog.regnamespace).
Regtype
PgNodeTree
AclItem
Int2Vector
OidVector
AnyArray
Record
PostgreSQL’s anonymous composite pseudo-type (OID 2249).
Array(Box<ColumnType>)
A PostgreSQL array whose elements retain their declared SQL type.
Nested array bounds are represented recursively.
Date
DATE columns store days since 1970-01-01.
Time
TIME columns store microseconds since midnight.
TimeTz
TIME WITH TIME ZONE columns store local time plus offset.
Timestamp
TIMESTAMP WITHOUT TIME ZONE columns store naive microseconds
since 1970-01-01 00:00:00.
TimestampTz
TIMESTAMP WITH TIME ZONE columns store UTC microseconds since
1970-01-01 00:00:00Z.
Interval
Vector(u32)
VECTOR(N) columns store an N-dimensional f32 embedding.
Tensor(u32)
TENSOR(N) columns store an array of N-dimensional f32
embeddings. The row remains the retrieval identity; vector
indexes score against the best element in the tensor.
Domain
A named PostgreSQL domain retaining both its own type identity and the
base type used for value conversion and operator selection.
Implementations§
Source§impl ColumnType
impl ColumnType
pub fn is_integer(&self) -> bool
pub fn is_character_string(&self) -> bool
Sourcepub fn from_sql_name(name: &str) -> Result<Self, SQLError>
pub fn from_sql_name(name: &str) -> Result<Self, SQLError>
Parse the canonical or accepted spelling of one implemented SQL type. This is shared by expression binding and row-schema propagation so a cast’s declared type is not reconstructed from its runtime value.
pub fn sql_name(&self) -> String
Sourcepub fn regtype_name(&self) -> String
pub fn regtype_name(&self) -> String
Name emitted by PostgreSQL’s regtype output, including
pg_typeof(...).
Trait Implementations§
Source§impl Clone for ColumnType
impl Clone for ColumnType
Source§fn clone(&self) -> ColumnType
fn clone(&self) -> ColumnType
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 ColumnType
impl Debug for ColumnType
Source§impl<'de> Deserialize<'de> for ColumnType
impl<'de> Deserialize<'de> for ColumnType
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>,
impl Eq for ColumnType
Source§impl PartialEq for ColumnType
impl PartialEq for ColumnType
Source§impl Serialize for ColumnType
impl Serialize for ColumnType
impl StructuralPartialEq for ColumnType
Auto Trait Implementations§
impl Freeze for ColumnType
impl RefUnwindSafe for ColumnType
impl Send for ColumnType
impl Sync for ColumnType
impl Unpin for ColumnType
impl UnsafeUnpin for ColumnType
impl UnwindSafe for ColumnType
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
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>,
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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 more