Enum DataType
pub enum DataType {
Show 64 variants
Character(Option<CharacterLength>),
Char(Option<CharacterLength>),
CharacterVarying(Option<CharacterLength>),
CharVarying(Option<CharacterLength>),
Varchar(Option<CharacterLength>),
Nvarchar(Option<u64>),
Uuid,
CharacterLargeObject(Option<u64>),
CharLargeObject(Option<u64>),
Clob(Option<u64>),
Binary(Option<u64>),
Varbinary(Option<u64>),
Blob(Option<u64>),
Bytes(Option<u64>),
Numeric(ExactNumberInfo),
Decimal(ExactNumberInfo),
BigNumeric(ExactNumberInfo),
BigDecimal(ExactNumberInfo),
Dec(ExactNumberInfo),
Float(Option<u64>),
TinyInt(Option<u64>),
UnsignedTinyInt(Option<u64>),
Int2(Option<u64>),
UnsignedInt2(Option<u64>),
SmallInt(Option<u64>),
UnsignedSmallInt(Option<u64>),
MediumInt(Option<u64>),
UnsignedMediumInt(Option<u64>),
Int(Option<u64>),
Int4(Option<u64>),
Int64,
Integer(Option<u64>),
UnsignedInt(Option<u64>),
UnsignedInt4(Option<u64>),
UnsignedInteger(Option<u64>),
BigInt(Option<u64>),
UnsignedBigInt(Option<u64>),
Int8(Option<u64>),
UnsignedInt8(Option<u64>),
Float4,
Float64,
Real,
Float8,
Double,
DoublePrecision,
Bool,
Boolean,
Date,
Time(Option<u64>, TimezoneInfo),
Datetime(Option<u64>),
Timestamp(Option<u64>, TimezoneInfo),
Interval,
JSON,
JSONB,
Regclass,
Text,
String(Option<u64>),
Bytea,
Custom(ObjectName, Vec<String>),
Array(ArrayElemTypeDef),
Enum(Vec<String>),
Set(Vec<String>),
Struct(Vec<StructField>),
Unspecified,
}
Expand description
SQL data types
Variants§
Character(Option<CharacterLength>)
Fixed-length character type e.g. CHARACTER(10)
Char(Option<CharacterLength>)
Fixed-length char type e.g. CHAR(10)
CharacterVarying(Option<CharacterLength>)
Character varying type e.g. CHARACTER VARYING(10)
CharVarying(Option<CharacterLength>)
Char varying type e.g. CHAR VARYING(10)
Varchar(Option<CharacterLength>)
Variable-length character type e.g. VARCHAR(10)
Nvarchar(Option<u64>)
Variable-length character type e.g. NVARCHAR(10)
Uuid
Uuid type
CharacterLargeObject(Option<u64>)
Large character object with optional length e.g. CHARACTER LARGE OBJECT, CHARACTER LARGE OBJECT(1000), standard
CharLargeObject(Option<u64>)
Large character object with optional length e.g. CHAR LARGE OBJECT, CHAR LARGE OBJECT(1000), standard
Clob(Option<u64>)
Large character object with optional length e.g. CLOB, CLOB(1000), standard
Binary(Option<u64>)
Fixed-length binary type with optional length e.g. standard, MS SQL Server
Varbinary(Option<u64>)
Variable-length binary with optional length type e.g. standard, MS SQL Server
Blob(Option<u64>)
Bytes(Option<u64>)
Variable-length binary data with optional length.
Numeric(ExactNumberInfo)
Numeric type with optional precision and scale e.g. NUMERIC(10,2), standard
Decimal(ExactNumberInfo)
Decimal type with optional precision and scale e.g. DECIMAL(10,2), standard
BigNumeric(ExactNumberInfo)
BigNumeric type used in BigQuery
BigDecimal(ExactNumberInfo)
This is alias for BigNumeric
type used in BigQuery
Dec(ExactNumberInfo)
Dec type with optional precision and scale e.g. DEC(10,2), standard
Float(Option<u64>)
Floating point with optional precision e.g. FLOAT(8)
TinyInt(Option<u64>)
Tiny integer with optional display width e.g. TINYINT or TINYINT(3)
UnsignedTinyInt(Option<u64>)
Unsigned tiny integer with optional display width e.g. TINYINT UNSIGNED or TINYINT(3) UNSIGNED
Int2(Option<u64>)
Int2 as alias for SmallInt in postgresql Note: Int2 mean 2 bytes in postgres (not 2 bits) Int2 with optional display width e.g. INT2 or INT2(5)
UnsignedInt2(Option<u64>)
Unsigned Int2 with optional display width e.g. INT2 Unsigned or INT2(5) Unsigned
SmallInt(Option<u64>)
Small integer with optional display width e.g. SMALLINT or SMALLINT(5)
UnsignedSmallInt(Option<u64>)
Unsigned small integer with optional display width e.g. SMALLINT UNSIGNED or SMALLINT(5) UNSIGNED
MediumInt(Option<u64>)
MySQL medium integer (1) with optional display width e.g. MEDIUMINT or MEDIUMINT(5)
UnsignedMediumInt(Option<u64>)
Unsigned medium integer (1) with optional display width e.g. MEDIUMINT UNSIGNED or MEDIUMINT(5) UNSIGNED
Int(Option<u64>)
Int with optional display width e.g. INT or INT(11)
Int4(Option<u64>)
Int4 as alias for Integer in postgresql Note: Int4 mean 4 bytes in postgres (not 4 bits) Int4 with optional display width e.g. Int4 or Int4(11)
Int64
Integer type in bigquery
Integer(Option<u64>)
Integer with optional display width e.g. INTEGER or INTEGER(11)
UnsignedInt(Option<u64>)
Unsigned int with optional display width e.g. INT UNSIGNED or INT(11) UNSIGNED
UnsignedInt4(Option<u64>)
Unsigned int4 with optional display width e.g. INT4 UNSIGNED or INT4(11) UNSIGNED
UnsignedInteger(Option<u64>)
Unsigned integer with optional display width e.g. INTGER UNSIGNED or INTEGER(11) UNSIGNED
BigInt(Option<u64>)
Big integer with optional display width e.g. BIGINT or BIGINT(20)
UnsignedBigInt(Option<u64>)
Unsigned big integer with optional display width e.g. BIGINT UNSIGNED or BIGINT(20) UNSIGNED
Int8(Option<u64>)
Int8 as alias for Bigint in postgresql Note: Int8 mean 8 bytes in postgres (not 8 bits) Int8 with optional display width e.g. INT8 or INT8(11)
UnsignedInt8(Option<u64>)
Unsigned Int8 with optional display width e.g. INT8 UNSIGNED or INT8(11) UNSIGNED
Float4
Float4 as alias for Real in postgresql
Float64
Floating point in bigquery
Real
Floating point e.g. REAL
Float8
Float8 as alias for Double in postgresql
Double
Double
DoublePrecision
Double PRECISION e.g. standard, postgresql
Bool
Bool as alias for Boolean in postgresql
Boolean
Boolean
Date
Date
Time(Option<u64>, TimezoneInfo)
Time with optional time precision and time zone information e.g. standard.
Datetime(Option<u64>)
Datetime with optional time precision e.g. MySQL.
Timestamp(Option<u64>, TimezoneInfo)
Timestamp with optional time precision and time zone information e.g. standard.
Interval
Interval
JSON
JSON type
JSONB
Binary JSON type
Regclass
Regclass used in postgresql serial
Text
Text
String(Option<u64>)
String with optional length.
Bytea
Bytea
Custom(ObjectName, Vec<String>)
Custom type such as enums
Array(ArrayElemTypeDef)
Arrays
Enum(Vec<String>)
Enums
Set(Vec<String>)
Set
Struct(Vec<StructField>)
Struct
Unspecified
No type specified - only used with
SQLiteDialect
, from statements such
as CREATE TABLE t1 (a)
.
Trait Implementations§
§impl<'de> Deserialize<'de> for DataType
impl<'de> Deserialize<'de> for DataType
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DataType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DataType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Ord for DataType
impl Ord for DataType
§impl PartialOrd for DataType
impl PartialOrd for DataType
§impl Serialize for DataType
impl Serialize for DataType
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
§impl VisitMut for DataType
impl VisitMut for DataType
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
impl Eq for DataType
impl StructuralPartialEq for DataType
Auto Trait Implementations§
impl Freeze for DataType
impl RefUnwindSafe for DataType
impl Send for DataType
impl Sync for DataType
impl Unpin for DataType
impl UnwindSafe for DataType
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<T> CallHasher for T
impl<T> CallHasher for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<T, V> Convert<T> for Vwhere
V: Into<T>,
impl<T, V> Convert<T> for Vwhere
V: Into<T>,
fn convert(value: Self) -> T
fn convert_box(value: Box<Self>) -> Box<T>
fn convert_vec(value: Vec<Self>) -> Vec<T>
fn convert_vec_box(value: Vec<Box<Self>>) -> Vec<Box<T>>
fn convert_matrix(value: Vec<Vec<Self>>) -> Vec<Vec<T>>
fn convert_option(value: Option<Self>) -> Option<T>
fn convert_option_box(value: Option<Box<Self>>) -> Option<Box<T>>
fn convert_option_vec(value: Option<Vec<Self>>) -> Option<Vec<T>>
§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
§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
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
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
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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> 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 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>
T
in a tonic::Request
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
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.