Enum taos_query::common::Ty

source ·
#[repr(u8)]
#[non_exhaustive]
pub enum Ty {
Show 15 variants Bool, TinyInt, SmallInt, Int, BigInt, UTinyInt, USmallInt, UInt, UBigInt, Float, Double, Timestamp, VarChar, NChar, Json,
}
Expand description

TDengine data type enumeration.

enumintsql namerust type
Null0NULLNone
Bool1BOOLbool
TinyInt2TINYINTi8
SmallInt3SMALLINTi16
Int4INTi32
BitInt5BIGINTi64
Float6FLOATf32
Double7DOUBLEf64
VarChar8BINARY/VARCHARstr/String
Timestamp9TIMESTAMPi64
NChar10NCHARstr/String
UTinyInt11TINYINT UNSIGNEDu8
USmallInt12SMALLINT UNSIGNEDu16
UInt13INT UNSIGNEDu32
UBigInt14BIGINT UNSIGNEDu64
Json15JSONserde_json::Value

Note:

  • VarChar sql name is BINARY in v2, and VARCHAR in v3.
  • Decimal/Blob/MediumBlob is not supported in 2.0/3.0 .

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Bool

The BOOL type in sql, will be represented as bool in Rust.

§

TinyInt

TINYINT type in sql, will be represented in Rust as i8.

§

SmallInt

SMALLINT type in sql, will be represented in Rust as i16.

§

Int

INT type in sql, will be represented in Rust as i32.

§

BigInt

BIGINT type in sql, will be represented in Rust as i64.

§

UTinyInt

UTinyInt, tinyint unsigned in sql, u8 in Rust.

§

USmallInt

12: USmallInt, smallint unsigned in sql, u16 in Rust.

§

UInt

13: UInt, int unsigned in sql, u32 in Rust.

§

UBigInt

14: UBigInt, bigint unsigned in sql, u64 in Rust.

§

Float

6: Float, float type in sql, will be represented in Rust as f32.

§

Double

7: Double, tinyint type in sql, will be represented in Rust as f64.

§

Timestamp

9: Timestamp, timestamp type in sql, will be represented as i64 in Rust. But can be deserialized to chrono::naive::NaiveDateTime or String.

§

VarChar

8: VarChar, binary type in sql for TDengine 2.x, varchar for TDengine 3.x, will be represented in Rust as &str or String. This type of data be deserialized to Vec<u8>.

§

NChar

10: NChar, nchar type in sql, the recommended way in TDengine to store utf-8 String.

§

Json

15: Json, json tag in sql, will be represented as serde_json::value::Value in Rust.

Implementations§

source§

impl Ty

source

pub const fn is_null(&self) -> bool

Check if the data type is null or not.

source

pub const fn is_var_type(&self) -> bool

Var type is one of Ty::VarChar, Ty::VarBinary, Ty::NChar.

source

pub const fn is_json(&self) -> bool

source

pub const fn is_primitive(&self) -> bool

Is one of boolean/integers/float/double/decimal

source

pub const fn fixed_length(&self) -> usize

Get fixed length if the type is primitive.

source

pub const fn name(&self) -> &'static str

The sql name of type.

source

pub const fn lowercase_name(&self) -> &'static str

Trait Implementations§

source§

impl Clone for Ty

source§

fn clone(&self) -> Ty

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Ty

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Ty

source§

fn default() -> Ty

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Ty

source§

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 Display for Ty

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<i16> for Ty

source§

fn from(v: i16) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Ty

source§

fn from(v: i32) -> Self

Converts to this type from the input type.
source§

impl From<i64> for Ty

source§

fn from(v: i64) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Ty

source§

fn from(v: i8) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Ty

source§

fn from(v: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for Ty

source§

fn from(v: u32) -> Self

Converts to this type from the input type.
source§

impl From<u64> for Ty

source§

fn from(v: u64) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Ty

source§

fn from(v: u8) -> Self

Converts to this type from the input type.
source§

impl FromStr for Ty

§

type Err = &'static str

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Ty

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Ty> for Ty

source§

fn eq(&self, other: &Ty) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Ty

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Ty

source§

impl Eq for Ty

source§

impl StructuralEq for Ty

source§

impl StructuralPartialEq for Ty

Auto Trait Implementations§

§

impl RefUnwindSafe for Ty

§

impl Send for Ty

§

impl Sync for Ty

§

impl Unpin for Ty

§

impl UnwindSafe for Ty

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,