2018-06-25 10:20:36 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "generator" content = "rustdoc" >
< meta name = "description" content = "API documentation for the Rust `ColumnOrExpression` enum in crate `mentat_query_sql`." >
< meta name = "keywords" content = "rust, rustlang, rust-lang, ColumnOrExpression" >
< title > mentat_query_sql::ColumnOrExpression - Rust< / title >
< link rel = "stylesheet" type = "text/css" href = "../normalize.css" >
< link rel = "stylesheet" type = "text/css" href = "../rustdoc.css"
id="mainThemeStyle">
< link rel = "stylesheet" type = "text/css" href = "../dark.css" >
< link rel = "stylesheet" type = "text/css" href = "../light.css" id = "themeStyle" >
< script src = "../storage.js" > < / script >
< / head >
< body class = "rustdoc enum" >
<!-- [if lte IE 8]>
< div class = "warning" >
This old browser is unsupported and will most likely display funky
things.
< / div >
<![endif]-->
< nav class = "sidebar" >
< div class = "sidebar-menu" > ☰ < / div >
< p class = 'location' > Enum ColumnOrExpression< / p > < div class = "sidebar-elems" > < div class = "block items" > < a class = "sidebar-title" href = "#variants" > Variants< / a > < div class = "sidebar-links" > < a href = "#variant.Column" > Column< / a > < a href = "#variant.ExistingColumn" > ExistingColumn< / a > < a href = "#variant.Entid" > Entid< / a > < a href = "#variant.Integer" > Integer< / a > < a href = "#variant.Long" > Long< / a > < a href = "#variant.Value" > Value< / a > < a href = "#variant.NullableAggregate" > NullableAggregate< / a > < a href = "#variant.Expression" > Expression< / a > < / div > < a class = "sidebar-title" href = "#implementations" > Trait Implementations< / a > < div class = "sidebar-links" > < a href = "#impl-From%3CQueryValue%3E" > From< QueryValue> < / a > < a href = "#impl-QueryFragment" > QueryFragment< / a > < / div > < a class = "sidebar-title" href = "#synthetic-implementations" > Auto Trait Implementations< / a > < div class = "sidebar-links" > < a href = "#impl-Send" > !Send< / a > < a href = "#impl-Sync" > !Sync< / a > < / div > < / div > < p class = 'location' > < a href = 'index.html' > mentat_query_sql< / a > < / p > < script > window . sidebarCurrent = { name : 'ColumnOrExpression' , ty : 'enum' , relpath : '' } ; < / script > < script defer src = "sidebar-items.js" > < / script > < / div >
< / nav >
< div class = "theme-picker" >
< button id = "theme-picker" aria-label = "Pick another theme!" >
< img src = "../brush.svg" width = "18" alt = "Pick another theme!" >
< / button >
< div id = "theme-choices" > < / div >
< / div >
< script src = "../theme.js" > < / script >
< nav class = "sub" >
< form class = "search-form js-only" >
< div class = "search-container" >
< input class = "search-input" name = "search"
autocomplete="off"
placeholder="Click or press ‘ S’ to search, ‘ ?’ for more options…"
type="search">
< / div >
< / form >
< / nav >
< section id = 'main' class = "content" > < h1 class = 'fqn' > < span class = 'in-band' > Enum < a href = 'index.html' > mentat_query_sql< / a > ::< wbr > < a class = "enum" href = '' > ColumnOrExpression< / a > < / span > < span class = 'out-of-band' > < span id = 'render-detail' >
< a id = "toggle-all-docs" href = "javascript:void(0)" title = "collapse all docs" >
[< span class = 'inner' > − < / span > ]
< / a >
< / span > < a class = 'srclink' href = '../src/mentat_query_sql/lib.rs.html#59-70' title = 'goto source code' > [src]< / a > < / span > < / h1 > < div class = "docblock type-decl" > < pre class = 'rust enum' > pub enum ColumnOrExpression {
Column(< a class = "struct" href = "../mentat_query_algebrizer/types/struct.QualifiedAlias.html" title = "struct mentat_query_algebrizer::types::QualifiedAlias" > QualifiedAlias< / a > ),
ExistingColumn(< a class = "type" href = "../mentat_query_sql/type.Name.html" title = "type mentat_query_sql::Name" > Name< / a > ),
2018-06-29 17:28:44 +00:00
Entid(< a class = "type" href = "../mentat_core/types/type.Entid.html" title = "type mentat_core::types::Entid" > Entid< / a > ),
2018-06-25 10:20:36 +00:00
Integer(< a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.i32.html" > i32< / a > ),
Long(< a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.i64.html" > i64< / a > ),
2018-06-29 17:28:44 +00:00
Value(< a class = "enum" href = "../mentat_core/types/enum.TypedValue.html" title = "enum mentat_core::types::TypedValue" > TypedValue< / a > ),
NullableAggregate(< a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title = "struct alloc::boxed::Box" > Box< / a > < < a class = "enum" href = "../mentat_query_sql/enum.Expression.html" title = "enum mentat_query_sql::Expression" > Expression< / a > > , < a class = "enum" href = "../mentat_core/types/enum.ValueType.html" title = "enum mentat_core::types::ValueType" > ValueType< / a > ),
Expression(< a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title = "struct alloc::boxed::Box" > Box< / a > < < a class = "enum" href = "../mentat_query_sql/enum.Expression.html" title = "enum mentat_query_sql::Expression" > Expression< / a > > , < a class = "enum" href = "../mentat_core/types/enum.ValueType.html" title = "enum mentat_core::types::ValueType" > ValueType< / a > ),
2018-06-25 10:20:36 +00:00
}< / pre > < / div > < div class = 'docblock' > < p > One of the things that can appear in a projection or a constraint. Note that we use
< code > TypedValue< / code > here; it's not pure SQL, but it avoids us having to concern ourselves at this
point with the translation between a < code > TypedValue< / code > and the storage-layer representation.< / p >
< p > Eventually we might allow different translations by providing a different < code > QueryBuilder< / code >
implementation for each storage backend. Passing < code > TypedValue< / code > s here allows for that.< / p >
< / div > < h2 id = 'variants' class = 'variants small-section-header' >
Variants< a href = '#variants' class = 'anchor' > < / a > < / h2 >
2018-06-29 17:28:44 +00:00
< span id = "variant.Column" class = "variant small-section-header" > < a href = "#variant.Column" class = "anchor field" > < / a > < span id = 'Column.v' class = 'invisible' > < code > Column(< a class = "struct" href = "../mentat_query_algebrizer/types/struct.QualifiedAlias.html" title = "struct mentat_query_algebrizer::types::QualifiedAlias" > QualifiedAlias< / a > )< / code > < / span > < / span > < span id = "variant.ExistingColumn" class = "variant small-section-header" > < a href = "#variant.ExistingColumn" class = "anchor field" > < / a > < span id = 'ExistingColumn.v' class = 'invisible' > < code > ExistingColumn(< a class = "type" href = "../mentat_query_sql/type.Name.html" title = "type mentat_query_sql::Name" > Name< / a > )< / code > < / span > < / span > < span id = "variant.Entid" class = "variant small-section-header" > < a href = "#variant.Entid" class = "anchor field" > < / a > < span id = 'Entid.v' class = 'invisible' > < code > Entid(< a class = "type" href = "../mentat_core/types/type.Entid.html" title = "type mentat_core::types::Entid" > Entid< / a > )< / code > < / span > < / span > < span id = "variant.Integer" class = "variant small-section-header" > < a href = "#variant.Integer" class = "anchor field" > < / a > < span id = 'Integer.v' class = 'invisible' > < code > Integer(< a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.i32.html" > i32< / a > )< / code > < / span > < / span > < span id = "variant.Long" class = "variant small-section-header" > < a href = "#variant.Long" class = "anchor field" > < / a > < span id = 'Long.v' class = 'invisible' > < code > Long(< a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.i64.html" > i64< / a > )< / code > < / span > < / span > < span id = "variant.Value" class = "variant small-section-header" > < a href = "#variant.Value" class = "anchor field" > < / a > < span id = 'Value.v' class = 'invisible' > < code > Value(< a class = "enum" href = "../mentat_core/types/enum.TypedValue.html" title = "enum mentat_core::types::TypedValue" > TypedValue< / a > )< / code > < / span > < / span > < span id = "variant.NullableAggregate" class = "variant small-section-header" > < a href = "#variant.NullableAggregate" class = "anchor field" > < / a > < span id = 'NullableAggregate.v' class = 'invisible' > < code > NullableAggregate(< a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title = "struct alloc::boxed::Box" > Box< / a > < < a class = "enum" href = "../mentat_query_sql/enum.Expression.html" title = "enum mentat_query_sql::Expression" > Expression< / a > > , < a class = "enum" href = "../mentat_core/types/enum.ValueType.html" title = "enum mentat_core::types::ValueType" > ValueType< / a > )< / code > < / span > < / span > < span id = "variant.Expression" class = "variant small-section-header" > < a href = "#variant.Expression" class = "anchor field" > < / a > < span id = 'Expression.v' class = 'invisible' > < code > Expression(< a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title = "struct alloc::boxed::Box" > Box< / a > < < a class = "enum" href = "../mentat_query_sql/enum.Expression.html" title = "enum mentat_query_sql::Expression" > Expression< / a > > , < a class = "enum" href = "../mentat_core/types/enum.ValueType.html" title = "enum mentat_core::types::ValueType" > ValueType< / a > )< / code > < / span > < / span >
2018-06-25 10:20:36 +00:00
< h2 id = 'implementations' class = 'small-section-header' >
Trait Implementations< a href = '#implementations' class = 'anchor' > < / a >
< / h2 >
< div id = 'implementations-list' >
< h3 id = 'impl-From%3CQueryValue%3E' class = 'impl' > < span class = 'in-band' > < table class = 'table-display' > < tbody > < tr > < td > < code > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title = "trait core::convert::From" > From< / a > < < a class = "enum" href = "../mentat_query_algebrizer/types/enum.QueryValue.html" title = "enum mentat_query_algebrizer::types::QueryValue" > QueryValue< / a > > for < a class = "enum" href = "../mentat_query_sql/enum.ColumnOrExpression.html" title = "enum mentat_query_sql::ColumnOrExpression" > ColumnOrExpression< / a > < / code > < a href = '#impl-From%3CQueryValue%3E' class = 'anchor' > < / a > < / span > < / td > < td > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../src/mentat_query_sql/lib.rs.html#77-86' title = 'goto source code' > [src]< / a > < / span > < / td > < / tr > < / tbody > < / table > < / h3 > < div class = 'docblock' > < p > < code > QueryValue< / code > and < code > ColumnOrExpression< / code > are almost identical… merge somehow?< / p >
< / div > < div class = 'impl-items' > < h4 id = 'method.from' class = "method" > < span id = 'from.v' class = 'invisible' > < table class = 'table-display' > < tbody > < tr > < td > < code > fn < a href = 'https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class = 'fnname' > from< / a > (v: < a class = "enum" href = "../mentat_query_algebrizer/types/enum.QueryValue.html" title = "enum mentat_query_algebrizer::types::QueryValue" > QueryValue< / a > ) -> Self< / code > < / span > < / td > < td > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../src/mentat_query_sql/lib.rs.html#78-85' title = 'goto source code' > [src]< / a > < / td > < / tr > < / tbody > < / table > < / span > < / h4 > < div class = 'docblock' > < p > Performs the conversion.< / p >
2018-06-29 17:28:44 +00:00
< / div > < / div > < h3 id = 'impl-QueryFragment' class = 'impl' > < span class = 'in-band' > < table class = 'table-display' > < tbody > < tr > < td > < code > impl < a class = "trait" href = "../mentat_sql/trait.QueryFragment.html" title = "trait mentat_sql::QueryFragment" > QueryFragment< / a > for < a class = "enum" href = "../mentat_query_sql/enum.ColumnOrExpression.html" title = "enum mentat_query_sql::ColumnOrExpression" > ColumnOrExpression< / a > < / code > < a href = '#impl-QueryFragment' class = 'anchor' > < / a > < / span > < / td > < td > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../src/mentat_query_sql/lib.rs.html#266-297' title = 'goto source code' > [src]< / a > < / span > < / td > < / tr > < / tbody > < / table > < / h3 > < div class = 'impl-items' > < h4 id = 'method.push_sql' class = "method" > < span id = 'push_sql.v' class = 'invisible' > < table class = 'table-display' > < tbody > < tr > < td > < code > fn < a href = '../mentat_sql/trait.QueryFragment.html#tymethod.push_sql' class = 'fnname' > push_sql< / a > (& self, out: & mut < a class = "trait" href = "../mentat_sql/trait.QueryBuilder.html" title = "trait mentat_sql::QueryBuilder" > QueryBuilder< / a > ) -> < a class = "type" href = "../mentat_sql/type.BuildQueryResult.html" title = "type mentat_sql::BuildQueryResult" > BuildQueryResult< / a > < / code > < / span > < / td > < td > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../src/mentat_query_sql/lib.rs.html#267-296' title = 'goto source code' > [src]< / a > < / td > < / tr > < / tbody > < / table > < / span > < / h4 > < / div > < / div >
2018-06-25 10:20:36 +00:00
< h2 id = 'synthetic-implementations' class = 'small-section-header' >
Auto Trait Implementations< a href = '#synthetic-implementations' class = 'anchor' > < / a >
< / h2 >
< div id = 'synthetic-implementations-list' >
< h3 id = 'impl-Send' class = 'impl' > < span class = 'in-band' > < table class = 'table-display' > < tbody > < tr > < td > < code > impl !< a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title = "trait core::marker::Send" > Send< / a > for < a class = "enum" href = "../mentat_query_sql/enum.ColumnOrExpression.html" title = "enum mentat_query_sql::ColumnOrExpression" > ColumnOrExpression< / a > < / code > < a href = '#impl-Send' class = 'anchor' > < / a > < / span > < / td > < td > < span class = 'out-of-band' > < / span > < / td > < / tr > < / tbody > < / table > < / h3 > < div class = 'impl-items' > < / div > < h3 id = 'impl-Sync' class = 'impl' > < span class = 'in-band' > < table class = 'table-display' > < tbody > < tr > < td > < code > impl !< a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title = "trait core::marker::Sync" > Sync< / a > for < a class = "enum" href = "../mentat_query_sql/enum.ColumnOrExpression.html" title = "enum mentat_query_sql::ColumnOrExpression" > ColumnOrExpression< / a > < / code > < a href = '#impl-Sync' class = 'anchor' > < / a > < / span > < / td > < td > < span class = 'out-of-band' > < / span > < / td > < / tr > < / tbody > < / table > < / h3 > < div class = 'impl-items' > < / div > < / div > < / section >
< section id = 'search' class = "content hidden" > < / section >
< section class = "footer" > < / section >
< aside id = "help" class = "hidden" >
< div >
< h1 class = "hidden" > Help< / h1 >
< div class = "shortcuts" >
< h2 > Keyboard Shortcuts< / h2 >
< dl >
< dt > < kbd > ?< / kbd > < / dt >
< dd > Show this help dialog< / dd >
< dt > < kbd > S< / kbd > < / dt >
< dd > Focus the search field< / dd >
< dt > < kbd > ↑< / kbd > < / dt >
< dd > Move up in search results< / dd >
< dt > < kbd > ↓< / kbd > < / dt >
< dd > Move down in search results< / dd >
< dt > < kbd > ↹< / kbd > < / dt >
< dd > Switch tab< / dd >
< dt > < kbd > ⏎ < / kbd > < / dt >
< dd > Go to active search result< / dd >
< dt > < kbd > +< / kbd > < / dt >
< dd > Expand all sections< / dd >
< dt > < kbd > -< / kbd > < / dt >
< dd > Collapse all sections< / dd >
< / dl >
< / div >
< div class = "infos" >
< h2 > Search Tricks< / h2 >
< p >
Prefix searches with a type followed by a colon (e.g.
< code > fn:< / code > ) to restrict the search to a given type.
< / p >
< p >
Accepted types are: < code > fn< / code > , < code > mod< / code > ,
< code > struct< / code > , < code > enum< / code > ,
< code > trait< / code > , < code > type< / code > , < code > macro< / code > ,
and < code > const< / code > .
< / p >
< p >
Search functions by type signature (e.g.
< code > vec -> usize< / code > or < code > * -> vec< / code > )
< / p >
< / div >
< / div >
< / aside >
< script >
window.rootPath = "../";
window.currentCrate = "mentat_query_sql";
< / script >
< script src = "../main.js" > < / script >
< script defer src = "../search-index.js" > < / script >
< / body >
< / html >