Files
aho_corasick
bigdecimal
bitflags
byteorder
cfg_if
chrono
format
naive
offset
sys
diesel
associations
connection
expression
functions
ops
expression_methods
macros
migration
mysql
connection
query_builder
types
pg
connection
expression
extensions
query_builder
serialize
types
date_and_time
floats
upsert
query_builder
delete_statement
insert_statement
nodes
select_statement
update_statement
query_dsl
query_source
sql_types
sqlite
connection
query_builder
types
type_impls
types
diesel_derives
diesel_migrations
env_logger
idna
instant
ipnetwork
itoa
kernel32
libc
unix
libsqlite3_sys
lock_api
log
matches
memchr
migrations_internals
migrations_macros
mysqlclient_sys
num_bigint
num_integer
num_traits
parking_lot
parking_lot_core
percent_encoding
pq_sys
proc_macro2
quickcheck
quote
r2d2
regex
simd_fallback
regex_syntax
ryu
scheduled_thread_pool
scopeguard
serde
de
private
ser
serde_derive
serde_json
smallvec
syn
attr.rsawait.rsbigint.rsbuffer.rscustom_keyword.rscustom_punctuation.rsdata.rsderive.rsdiscouraged.rserror.rsexport.rsexpr.rsext.rsfile.rsgenerics.rsgroup.rsident.rsitem.rslib.rslifetime.rslit.rslookahead.rsmac.rsmacros.rsop.rsparse.rsparse_macro_input.rsparse_quote.rspat.rspath.rsprint.rspunctuated.rsreserved.rssealed.rsspan.rsspanned.rsstmt.rsthread.rstoken.rstt.rsty.rsverbatim.rswhitespace.rs
thread_id
thread_local
time
tinyvec
tinyvec_macros
unicode_bidi
unicode_normalization
unicode_xid
url
utf8_ranges
uuid
winapi
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
use super::methods::LimitDsl; use dsl::Limit; use expression::grouped::Grouped; use expression::subselect::Subselect; use query_builder::SelectQuery; use sql_types::{IntoNullable, SingleValue}; /// The `single_value` method /// /// This trait should not be relied on directly by most apps. Its behavior is /// provided by [`QueryDsl`]. However, you may need a where clause on this trait /// to call `single_value` from generic code. /// /// [`QueryDsl`]: ../trait.QueryDsl.html pub trait SingleValueDsl { /// The type returned by `.single_value`. type Output; /// See the trait documentation. fn single_value(self) -> Self::Output; } impl<T, ST> SingleValueDsl for T where Self: SelectQuery<SqlType = ST> + LimitDsl, ST: IntoNullable, ST::Nullable: SingleValue, { type Output = Grouped<Subselect<Limit<Self>, ST::Nullable>>; fn single_value(self) -> Self::Output { Grouped(Subselect::new(self.limit(1))) } }