Struct tidb_query_datatype::expr::EvalContext[][src]

pub struct EvalContext {
    pub cfg: Arc<EvalConfig>,
    pub warnings: EvalWarnings,
}

Some global variables needed in an evaluation.

Fields

cfg: Arc<EvalConfig>warnings: EvalWarnings

Implementations

impl EvalContext[src]

pub fn new(cfg: Arc<EvalConfig>) -> EvalContext[src]

pub fn handle_truncate(&mut self, is_truncated: bool) -> Result<()>[src]

pub fn handle_truncate_err(&mut self, err: Error) -> Result<()>[src]

pub fn handle_overflow_err(&mut self, err: Error) -> Result<()>[src]

handle_overflow treats ErrOverflow as warnings or returns the error based on the cfg.handle_overflow state.

pub fn handle_division_by_zero(&mut self) -> Result<()>[src]

pub fn handle_invalid_time_error(&mut self, err: Error) -> Result<()>[src]

pub fn overflow_from_cast_str_as_int(
    &mut self,
    bytes: &[u8],
    orig_err: Error,
    negative: bool
) -> Result<i64>
[src]

pub fn take_warnings(&mut self) -> EvalWarnings[src]

pub fn should_clip_to_zero(&self) -> bool[src]

Indicates whether values less than 0 should be clipped to 0 for unsigned integer types. This is the case for insert, update, alter table and load data infile statements, when not in strict SQL mode. see https://dev.mysql.com/doc/refman/5.7/en/out-of-range-and-overflow.html

Trait Implementations

impl Debug for EvalContext[src]

impl Default for EvalContext[src]

Auto Trait Implementations

impl RefUnwindSafe for EvalContext

impl Send for EvalContext

impl Sync for EvalContext

impl Unpin for EvalContext

impl UnwindSafe for EvalContext

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]