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>
impl<'a> Column<'a>
sourcepub fn default<V>(self, value: V) -> Selfwhere
V: Into<DefaultValue<'a>>,
pub fn default<V>(self, value: V) -> Selfwhere V: Into<DefaultValue<'a>>,
Sets the default value for the column.
sourcepub fn type_family(self, type_family: TypeFamily) -> Self
pub fn type_family(self, type_family: TypeFamily) -> Self
Sets a type family, used mainly for SQL Server OUTPUT
hack.
sourcepub fn set_is_enum(self, is_enum: bool) -> Self
pub fn set_is_enum(self, is_enum: bool) -> Self
Sets whether the column points to an enum type.
sourcepub fn set_is_list(self, is_list: bool) -> Self
pub fn set_is_list(self, is_list: bool) -> Self
Sets whether the column points to an scalar list.
sourcepub fn set_is_selected(self, is_selected: bool) -> Self
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.
sourcepub fn default_autogen(&self) -> bool
pub fn default_autogen(&self) -> bool
True when the default value is set and automatically generated in the database.
pub fn native_column_type<T: Into<NativeColumnType<'a>>>( self, native_type: Option<T> ) -> Column<'a>
Trait Implementations§
source§impl<'a> From<Column<'a>> for Expression<'a>
impl<'a> From<Column<'a>> for Expression<'a>
source§impl<'a> Groupable<'a> for Column<'a>
impl<'a> Groupable<'a> for Column<'a>
source§fn group(self) -> GroupByDefinition<'a>
fn group(self) -> GroupByDefinition<'a>
self
source§impl<'a> IntoGroupByDefinition<'a> for Column<'a>
impl<'a> IntoGroupByDefinition<'a> for Column<'a>
fn into_group_by_definition(self) -> GroupByDefinition<'a>
source§impl<'a> IntoOrderDefinition<'a> for Column<'a>
impl<'a> IntoOrderDefinition<'a> for Column<'a>
fn into_order_definition(self) -> OrderDefinition<'a>
source§impl<'a> Orderable<'a> for Column<'a>
impl<'a> Orderable<'a> for Column<'a>
source§fn ascend(self) -> OrderDefinition<'a>
fn ascend(self) -> OrderDefinition<'a>
ASC
source§fn descend(self) -> OrderDefinition<'a>
fn descend(self) -> OrderDefinition<'a>
DESC
source§fn ascend_nulls_first(self) -> OrderDefinition<'a>
fn ascend_nulls_first(self) -> OrderDefinition<'a>
ASC NULLS FIRST
source§fn ascend_nulls_last(self) -> OrderDefinition<'a>
fn ascend_nulls_last(self) -> OrderDefinition<'a>
ASC NULLS LAST
source§fn descend_nulls_first(self) -> OrderDefinition<'a>
fn descend_nulls_first(self) -> OrderDefinition<'a>
DESC NULLS FIRST
source§fn descend_nulls_last(self) -> OrderDefinition<'a>
fn descend_nulls_last(self) -> OrderDefinition<'a>
ASC NULLS LAST
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<'a, U> Comparable<'a> for Uwhere
U: Into<Column<'a>>,
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>>,
fn equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn not_equals<T>(self, comparison: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn not_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn less_than<T>(self, comparison: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn less_than<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn less_than_or_equals<T>(self, comparison: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn less_than_or_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn greater_than<T>(self, comparison: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn greater_than<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn greater_than_or_equals<T>(self, comparison: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn greater_than_or_equals<T>(self, comparison: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn in_selection<T>(self, selection: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn in_selection<T>(self, selection: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn not_in_selection<T>(self, selection: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn not_in_selection<T>(self, selection: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn like<T>(self, pattern: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn like<T>(self, pattern: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn not_like<T>(self, pattern: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn not_like<T>(self, pattern: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn is_not_null(self) -> Compare<'a>
fn is_not_null(self) -> Compare<'a>
NULL
. Read moresource§fn between<T, V>(self, left: T, right: V) -> Compare<'a>where
T: Into<Expression<'a>>,
V: Into<Expression<'a>>,
fn between<T, V>(self, left: T, right: V) -> Compare<'a>where T: Into<Expression<'a>>, V: Into<Expression<'a>>,
source§fn not_between<T, V>(self, left: T, right: V) -> Compare<'a>where
T: Into<Expression<'a>>,
V: Into<Expression<'a>>,
fn not_between<T, V>(self, left: T, right: V) -> Compare<'a>where T: Into<Expression<'a>>, V: Into<Expression<'a>>,
source§fn compare_raw<T, V>(self, raw_comparator: T, right: V) -> Compare<'a>where
T: Into<Cow<'a, str>>,
V: Into<Expression<'a>>,
fn compare_raw<T, V>(self, raw_comparator: T, right: V) -> Compare<'a>where T: Into<Cow<'a, str>>, V: Into<Expression<'a>>,
source§fn json_array_contains<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_contains<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_array_not_contains<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_not_contains<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_array_begins_with<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_begins_with<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_array_not_begins_with<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_not_begins_with<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_array_ends_into<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_ends_into<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_array_not_ends_into<T>(self, item: T) -> Compare<'a>where
T: Into<Expression<'a>>,
fn json_array_not_ends_into<T>(self, item: T) -> Compare<'a>where T: Into<Expression<'a>>,
source§fn json_type_equals<T>(self, json_type: T) -> Compare<'a>where
T: Into<JsonType<'a>>,
fn json_type_equals<T>(self, json_type: T) -> Compare<'a>where T: Into<JsonType<'a>>,
source§fn json_type_not_equals<T>(self, json_type: T) -> Compare<'a>where
T: Into<JsonType<'a>>,
fn json_type_not_equals<T>(self, json_type: T) -> Compare<'a>where T: Into<JsonType<'a>>,
source§fn matches<T>(self, query: T) -> Compare<'a>where
T: Into<Cow<'a, str>>,
fn matches<T>(self, query: T) -> Compare<'a>where T: Into<Cow<'a, str>>,
text_search()
function Read moresource§impl<'a, T> Conjunctive<'a> for Twhere
T: Into<Expression<'a>>,
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>>,
fn and<E>(self, other: E) -> ConditionTree<'a>where E: Into<Expression<'a>>,
source§fn or<E>(self, other: E) -> ConditionTree<'a>where
E: Into<Expression<'a>>,
fn or<E>(self, other: E) -> ConditionTree<'a>where E: Into<Expression<'a>>,
source§fn not(self) -> ConditionTree<'a>
fn not(self) -> ConditionTree<'a>
source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
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,
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,
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,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
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,
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,
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.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,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.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,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.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,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.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,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.