Enum Token

Source
pub enum Token {
Show 31 variants Word(Word), Number(String), Char(char), SingleQuotedString(String), NationalStringLiteral(String), HexStringLiteral(String), Comma, Whitespace(Whitespace), Eq, Neq([char; 2]), Lt, Gt, LtEq, GtEq, Plus, Minus, Mult, Div, Mod, LParen, RParen, Period, Colon, DoubleColon, SemiColon, Backslash, LBracket, RBracket, Ampersand, LBrace, RBrace,
}
Expand description

SQL Token enumeration

Variants§

§

Word(Word)

A keyword (like SELECT) or an optionally quoted SQL identifier

§

Number(String)

An unsigned numeric literal

§

Char(char)

A character that could not be tokenized

§

SingleQuotedString(String)

Single quoted string: i.e: ‘string’

§

NationalStringLiteral(String)

“National” string literal: i.e: N’string’

§

HexStringLiteral(String)

Hexadecimal string literal: i.e.: X’deadbeef’

§

Comma

Comma

§

Whitespace(Whitespace)

Whitespace (space, tab, etc)

§

Eq

Equality operator =

§

Neq([char; 2])

Not Equals operator <> (or != in some dialects)

§

Lt

Less Than operator <

§

Gt

Greater han operator >

§

LtEq

Less Than Or Equals operator <=

§

GtEq

Greater Than Or Equals operator >=

§

Plus

Plus operator +

§

Minus

Minus operator -

§

Mult

Multiplication operator *

§

Div

Division operator /

§

Mod

Modulo Operator %

§

LParen

Left parenthesis (

§

RParen

Right parenthesis )

§

Period

Period (used for compound identifiers or projections into nested types)

§

Colon

Colon :

§

DoubleColon

DoubleColon :: (used for casting in postgresql)

§

SemiColon

SemiColon ; used as separator for COPY and payload

§

Backslash

Backslash \ used in terminating the COPY payload with \.

§

LBracket

Left bracket [

§

RBracket

Right bracket ]

§

Ampersand

Ampersand &

§

LBrace

Left brace {

§

RBrace

Right brace }

Implementations§

Source§

impl Token

Source

pub fn new(word: &str, quote_style: Option<char>) -> Self

Creates a new token. quote style is None for integers.

Source

pub fn get_value(&self) -> String

Gets the value of the column encoded in an string. For numbers use get_number

Source

pub fn get_number(&self) -> Option<f64>

If the token contains a number and it can be parsed, returns Some(number). None if not.

Source

pub fn is_keyword(&self) -> bool

returns if the Token contains a keyword

Source

pub fn get_quote_style(&self) -> Option<char>

gets the quote style. None if none or it doesn’t apply

Trait Implementations§

Source§

impl Clone for Token

Source§

fn clone(&self) -> Token

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 Token

Source§

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

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

impl Display for Token

Source§

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

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

impl From<Token> for String

Source§

fn from(token: Token) -> String

Converts to this type from the input type.
Source§

impl PartialEq for Token

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Token

Auto Trait Implementations§

§

impl Freeze for Token

§

impl RefUnwindSafe for Token

§

impl Send for Token

§

impl Sync for Token

§

impl Unpin for Token

§

impl UnwindSafe for Token

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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 T
where T: Clone,

Source§

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 T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

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

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.