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 `mentat_query_projector` crate." >
< meta name = "keywords" content = "rust, rustlang, rust-lang, mentat_query_projector" >
< title > mentat_query_projector - 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 mod" >
<!-- [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 >
2018-06-29 17:28:44 +00:00
< p class = 'location' > Crate mentat_query_projector< / p > < div class = "sidebar-elems" > < div class = "block items" > < ul > < li > < a href = "#reexports" > Re-exports< / a > < / li > < li > < a href = "#modules" > Modules< / a > < / li > < li > < a href = "#macros" > Macros< / a > < / li > < li > < a href = "#structs" > Structs< / a > < / li > < li > < a href = "#enums" > Enums< / a > < / li > < li > < a href = "#traits" > Traits< / a > < / li > < li > < a href = "#functions" > Functions< / a > < / li > < li > < a href = "#types" > Type Definitions< / a > < / li > < / ul > < / div > < p class = 'location' > < / p > < script > window . sidebarCurrent = { name : 'mentat_query_projector' , ty : 'mod' , relpath : '../' } ; < / script > < / div >
2018-06-25 10:20:36 +00:00
< / 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' > Crate < a class = "mod" href = '' > mentat_query_projector< / 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 >
2018-06-29 17:28:44 +00:00
< / span > < a class = 'srclink' href = '../src/mentat_query_projector/lib.rs.html#11-517' title = 'goto source code' > [src]< / a > < / span > < / h1 > < h2 id = 'reexports' class = 'section-header' > < a href = "#reexports" > Re-exports< / a > < / h2 >
< table > < tr > < td > < code > pub use errors::< a class = "enum" href = "../mentat_query_projector/errors/enum.ProjectorError.html" title = "enum mentat_query_projector::errors::ProjectorError" > ProjectorError< / a > ;< / code > < / td > < / tr > < tr > < td > < code > pub use errors::< a class = "type" href = "../mentat_query_projector/errors/type.Result.html" title = "type mentat_query_projector::errors::Result" > Result< / a > ;< / code > < / td > < / tr > < / table > < h2 id = 'modules' class = 'section-header' > < a href = "#modules" > Modules< / a > < / h2 >
2018-06-25 10:20:36 +00:00
< table >
< tr class = ' module-item' >
< td > < a class = "mod" href = "errors/index.html"
title='mod mentat_query_projector::errors'>errors< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr > < / table > < h2 id = 'macros' class = 'section-header' > < a href = "#macros" > Macros< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "macro" href = "macro.bail.html"
title='macro mentat_query_projector::bail'>bail< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr > < / table > < h2 id = 'structs' class = 'section-header' > < a href = "#structs" > Structs< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "struct" href = "struct.CombinedProjection.html"
title='struct mentat_query_projector::CombinedProjection'>CombinedProjection< / a > < / td >
< td class = 'docblock-short' >
< p > Combines the things you need to turn a query into SQL and turn its results into
< code > QueryResults< / code > : SQL-related projection information (< code > DISTINCT< / code > , columns, etc.) and
a Datalog projector that turns SQL into structures.< / p >
< / td >
< / tr >
< tr class = ' module-item' >
< td > < a class = "struct" href = "struct.ConstantProjector.html"
title='struct mentat_query_projector::ConstantProjector'>ConstantProjector< / a > < / td >
< td class = 'docblock-short' >
< p > A projector that produces a < code > QueryResult< / code > containing fixed data.
Takes a boxed function that should return an empty result set of the desired type.< / p >
< / td >
< / tr >
< tr class = ' module-item' >
< td > < a class = "struct" href = "struct.QueryOutput.html"
title='struct mentat_query_projector::QueryOutput'>QueryOutput< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr >
< tr class = ' module-item' >
< td > < a class = "struct" href = "struct.RelResult.html"
title='struct mentat_query_projector::RelResult'>RelResult< / a > < / td >
< td class = 'docblock-short' >
< p > The result you get from a 'rel' query, like:< / p >
< / td >
< / tr > < / table > < h2 id = 'enums' class = 'section-header' > < a href = "#enums" > Enums< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "enum" href = "enum.QueryResults.html"
title='enum mentat_query_projector::QueryResults'>QueryResults< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr >
< tr class = ' module-item' >
< td > < a class = "enum" href = "enum.SimpleAggregationOp.html"
title='enum mentat_query_projector::SimpleAggregationOp'>SimpleAggregationOp< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr > < / table > < h2 id = 'traits' class = 'section-header' > < a href = "#traits" > Traits< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "trait" href = "trait.Projector.html"
title='trait mentat_query_projector::Projector'>Projector< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr > < / table > < h2 id = 'functions' class = 'section-header' > < a href = "#functions" > Functions< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "fn" href = "fn.projected_column_for_var.html"
title='fn mentat_query_projector::projected_column_for_var'>projected_column_for_var< / a > < / td >
< td class = 'docblock-short' >
< p > Return the projected column -- that is, a value or SQL column and an associated name -- for a
given variable. Also return the type.
Callers are expected to determine whether to project a type tag as an additional SQL column.< / p >
< / td >
< / tr >
< tr class = ' module-item' >
< td > < a class = "fn" href = "fn.query_projection.html"
title='fn mentat_query_projector::query_projection'>query_projection< / a > < / td >
< td class = 'docblock-short' >
< p > Compute a suitable SQL projection for an algebrized query.
This takes into account a number of things:< / p >
< / td >
< / tr > < / table > < h2 id = 'types' class = 'section-header' > < a href = "#types" > Type Definitions< / a > < / h2 >
< table >
< tr class = ' module-item' >
< td > < a class = "type" href = "type.StructuredRelResult.html"
title='type mentat_query_projector::StructuredRelResult'>StructuredRelResult< / a > < / td >
< td class = 'docblock-short' >
< / td >
< / tr > < / table > < / 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_projector";
< / script >
< script src = "../main.js" > < / script >
< script defer src = "../search-index.js" > < / script >
< / body >
< / html >