Struct quaint::ast::Column

source ·
pub struct Column<'a> {
    pub name: Cow<'a, str>,
    /* private fields */
}
Expand description

A column definition.

Fields§

§name: Cow<'a, str>

Implementations§

source§

impl<'a> Column<'a>

source

pub fn default<V>(self, value: V) -> Selfwhere V: Into<DefaultValue<'a>>,

Sets the default value for the column.

source

pub fn type_family(self, type_family: TypeFamily) -> Self

Sets a type family, used mainly for SQL Server OUTPUT hack.

source

pub fn set_is_enum(self, is_enum: bool) -> Self

Sets whether the column points to an enum type.

source

pub fn set_is_list(self, is_list: bool) -> Self

Sets whether the column points to an scalar list.

source

pub fn set_is_selected(self, is_selected: bool) -> Self

Sets whether the column is selected.

On Postgres, this defines whether an enum column should be casted to TEXT when rendered.

Since enums are user-defined custom types, tokio-postgres fires an additional query when selecting columns of type enum to know which custom type the column refers to. Casting the enum column to TEXT avoid this roundtrip since TEXT is a builtin type.

We don’t want to cast every single enum columns to text though, as this would prevent indexes from being used, so we use this additional field to granularly pick which columns we cast.

source

pub fn default_autogen(&self) -> bool

True when the default value is set and automatically generated in the database.

source

pub fn native_column_type<T: Into<NativeColumnType<'a>>>( self, native_type: Option<T> ) -> Column<'a>

source§

impl<'a> Column<'a>

source

pub fn new<S>(name: S) -> Selfwhere S: Into<Cow<'a, str>>,

Create a column definition.

source

pub fn table<T>(self, table: T) -> Selfwhere T: Into<Table<'a>>,

Include the table name in the column expression.

source

pub fn opt_table<T>(self, table: Option<T>) -> Selfwhere T: Into<Table<'a>>,

Include the table name in the column expression, if table is defined.

Trait Implementations§

source§

impl<'a> Aliasable<'a> for Column<'a>

§

type Target = Column<'a>

source§

fn alias<T>(self, alias: T) -> Self::Targetwhere T: Into<Cow<'a, str>>,

Alias table for usage elsewhere in the query.
source§

impl<'a> Clone for Column<'a>

source§

fn clone(&self) -> Column<'a>

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<'a> Debug for Column<'a>

source§

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

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

impl<'a> Default for Column<'a>

source§

fn default() -> Column<'a>

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

impl<'a, 'b> From<&'a &'b str> for Column<'b>

source§

fn from(s: &'a &'b str) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a str> for Column<'a>

source§

fn from(s: &'a str) -> Self

Converts to this type from the input type.
source§

impl<'a, T, C> From<(T, C)> for Column<'a>where T: Into<Table<'a>>, C: Into<Column<'a>>,

source§

fn from(t: (T, C)) -> Column<'a>

Converts to this type from the input type.
source§

impl<'a> From<Column<'a>> for Expression<'a>

source§

fn from(col: Column<'a>) -> Self

Converts to this type from the input type.
source§

impl<'a> From<Column<'a>> for JsonType<'a>

source§

fn from(col: Column<'a>) -> Self

Converts to this type from the input type.
source§

impl<'a> From<String> for Column<'a>

source§

fn from(s: String) -> Self

Converts to this type from the input type.
source§

impl<'a> Groupable<'a> for Column<'a>

source§

fn group(self) -> GroupByDefinition<'a>

Group by self
source§

impl<'a> IntoGroupByDefinition<'a> for Column<'a>

source§

impl<'a> IntoOrderDefinition<'a> for Column<'a>

source§

impl<'a> Orderable<'a> for Column<'a>

source§

fn order(self, order: Option<Order>) -> OrderDefinition<'a>

Order by self in the given order
source§

fn ascend(self) -> OrderDefinition<'a>

Change the order to ASC
source§

fn descend(self) -> OrderDefinition<'a>

Change the order to DESC
source§

fn ascend_nulls_first(self) -> OrderDefinition<'a>

Change the order to ASC NULLS FIRST
source§

fn ascend_nulls_last(self) -> OrderDefinition<'a>

Change the order to ASC NULLS LAST
source§

fn descend_nulls_first(self) -> OrderDefinition<'a>

Change the order to DESC NULLS FIRST
source§

fn descend_nulls_last(self) -> OrderDefinition<'a>

Change the order to ASC NULLS LAST
source§

impl<'a> PartialEq for Column<'a>

source§

fn eq(&self, other: &Column<'_>) -> 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.

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Column<'a>

§

impl<'a> Send for Column<'a>

§

impl<'a> Sync for Column<'a>

§

impl<'a> Unpin for Column<'a>

§

impl<'a> UnwindSafe for Column<'a>

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<'a, U> Comparable<'a> for Uwhere U: Into<Column<'a>>,

source§

fn equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if both sides are the same value. Read more
source§

fn not_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if both sides are not the same value. Read more
source§

fn less_than<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is smaller than the right side. Read more
source§

fn less_than_or_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is smaller than the right side or the same. Read more
source§

fn greater_than<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is bigger than the right side. Read more
source§

fn greater_than_or_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is bigger than the right side or the same. Read more
source§

fn in_selection<T>(self, selection: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is included in the right side collection. Read more
source§

fn not_in_selection<T>(self, selection: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side is not included in the right side collection. Read more
source§

fn like<T>(self, pattern: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side includes the right side string. Read more
source§

fn not_like<T>(self, pattern: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the left side does not include the right side string. Read more
source§

fn is_null(self) -> Compare<'a>

Tests if the left side is NULL. Read more
source§

fn is_not_null(self) -> Compare<'a>

Tests if the left side is not NULL. Read more
source§

fn between<T, V>(self, left: T, right: V) -> Compare<'a>where T: Into<Expression<'a>>, V: Into<Expression<'a>>,

Tests if the value is between two given values. Read more
source§

fn not_between<T, V>(self, left: T, right: V) -> Compare<'a>where T: Into<Expression<'a>>, V: Into<Expression<'a>>,

Tests if the value is not between two given values. Read more
source§

fn compare_raw<T, V>(self, raw_comparator: T, right: V) -> Compare<'a>where T: Into<Cow<'a, str>>, V: Into<Expression<'a>>,

Compares two expressions with a custom operator. Read more
source§

fn json_array_contains<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array contains a value. Read more
source§

fn json_array_not_contains<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array does not contain a value. Read more
source§

fn json_array_begins_with<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array starts with a value. Read more
source§

fn json_array_not_begins_with<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array does not start with a value. Read more
source§

fn json_array_ends_into<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array ends with a value. Read more
source§

fn json_array_not_ends_into<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,

Tests if the JSON array does not end with a value. Read more
source§

fn json_type_equals<T>(self, json_type: T) -> Compare<'a>where T: Into<JsonType<'a>>,

Tests if the JSON value is of a certain type. Read more
source§

fn json_type_not_equals<T>(self, json_type: T) -> Compare<'a>where T: Into<JsonType<'a>>,

Tests if the JSON value is not of a certain type. Read more
source§

fn matches<T>(self, query: T) -> Compare<'a>where T: Into<Cow<'a, str>>,

Tests if a full-text search matches a certain query. Use it in combination with the text_search() function Read more
source§

fn not_matches<T>(self, query: T) -> Compare<'a>where T: Into<Cow<'a, str>>,

Tests if a full-text search does not match a certain query. Use it in combination with the text_search() function Read more
source§

fn any(self) -> Compare<'a>

Matches at least one elem of a list of values. Read more
source§

fn all(self) -> Compare<'a>

Matches all elem of a list of values. Read more
source§

impl<'a, T> Conjunctive<'a> for Twhere T: Into<Expression<'a>>,

source§

fn and<E>(self, other: E) -> ConditionTree<'a>where E: Into<Expression<'a>>,

Builds an AND condition having self as the left leaf and other as the right. Read more
source§

fn or<E>(self, other: E) -> ConditionTree<'a>where E: Into<Expression<'a>>,

Builds an OR condition having self as the left leaf and other as the right. Read more
source§

fn not(self) -> ConditionTree<'a>

Builds a NOT condition having self as the condition. Read more
source§

impl<T> Conv for T

source§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<Choices> CoproductSubsetter<CNil, HNil> for Choices

§

type Remainder = Choices

source§

fn subset( self ) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>

Extract a subset of the possible types in a coproduct (or get the remaining possibilities) Read more
source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U, I> LiftInto<U, I> for Twhere U: LiftFrom<T, I>,

source§

fn lift_into(self) -> U

Performs the indexed conversion.
source§

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

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<Source> Sculptor<HNil, HNil> for Source

§

type Remainder = Source

source§

fn sculpt(self) -> (HNil, <Source as Sculptor<HNil, HNil>>::Remainder)

Consumes the current HList and returns an HList with the requested shape. Read more
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more