Skip to main content

DecimalLimits

Struct DecimalLimits 

Source
pub struct DecimalLimits {
    pub max_precision: u16,
    pub max_scale: u16,
    pub scale_within_precision: bool,
    pub max_integer_digits: Option<u16>,
}
Expand description

The widest exact decimal one engine’s column holds.

Every engine that records one refuses a precision of zero, so the fewest digits is always one and is not a field.

Fields§

§max_precision: u16

The most digits a column may declare.

§max_scale: u16

The most digits after the decimal point.

§scale_within_precision: bool

Whether the digits after the point must be no more than the digits in all. Some engines let a column hold only a fraction smaller than a thousandth, with more scale than precision; most refuse it.

§max_integer_digits: Option<u16>

The most digits before the decimal point, where the engine bounds them apart from the digits in all; None where the digits in all are the only bound. BigQuery holds 76 digits, but never more than 38 of them before the point.

Implementations§

Source§

impl DecimalLimits

Source

pub fn misfit(&self, precision: u16, scale: u16) -> Option<String>

Why decimal(precision, scale) does not fit, in a few plain words, or None when it does.

Parameters:

  • precision: the declared digits in all;
  • scale: the declared digits after the point.
Source

pub fn nearest(&self, precision: u16, scale: u16) -> (u16, u16)

The nearest decimal(precision, scale) these limits hold, for a refusal to suggest in place of the one declared.

Parameters:

  • precision: the declared digits in all;
  • scale: the declared digits after the point.

Trait Implementations§

Source§

impl Clone for DecimalLimits

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for DecimalLimits

Source§

impl Debug for DecimalLimits

Source§

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

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

impl Eq for DecimalLimits

Source§

impl PartialEq for DecimalLimits

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DecimalLimits

Auto Trait Implementations§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.