Lightweight 0.1.0
|
Represents a query builder that retrieves only the first record found. More...
#include <DataMapper.hpp>
Public Member Functions | |
std::optional< Record > | Get () |
Executes the query and returns the first record found. | |
![]() | |
SqlQuerySingleBuilder< Record > & | And () noexcept |
Indicates, that the next WHERE clause should be AND-ed (default). | |
SqlQuerySingleBuilder< Record > & | Or () noexcept |
Indicates, that the next WHERE clause should be OR-ed. | |
SqlQuerySingleBuilder< Record > & | Not () noexcept |
Indicates, that the next WHERE clause should be negated. | |
SqlQuerySingleBuilder< Record > & | WhereRaw (std::string_view sqlConditionExpression) |
Constructs or extends a raw WHERE clause. | |
SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, T const &value) |
Constructs or extends a WHERE clause to test for a binary operation. | |
SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, SubSelectQuery const &value) |
Constructs or extends a WHERE clause to test for a binary operation for RHS as sub-select query. | |
SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, char const(&value)[N]) |
Constructs or extends a WHERE clause to test for a binary operation for RHS as string literal. | |
SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, T const &value) |
Constructs or extends a WHERE clause to test for equality. | |
SqlQuerySingleBuilder< Record > & | Where (Callable const &callable) |
Constructs or extends a WHERE/AND clause to test for a group of values. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, T const &value) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Where (Callable const &callable) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, char const(&value)[N]) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, T const &value) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Where (ColumnName const &columnName, std::string_view binaryOp, SubSelectQuery const &value) |
SqlQuerySingleBuilder< Record > & | OrWhere (ColumnName const &columnName, std::string_view binaryOp, T const &value) |
Constructs or extends a WHERE/OR clause to test for a binary operation. | |
SqlQuerySingleBuilder< Record > & | OrWhere (ColumnName const &columnName, T const &value) |
Constructs or extends an WHERE/OR clause to test for equality. | |
SqlQuerySingleBuilder< Record > & | OrWhere (Callable const &callable) |
Constructs or extends an WHERE/OR clause to test for a group of values. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | OrWhere (ColumnName const &columnName, T const &value) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | OrWhere (Callable const &callable) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | OrWhere (ColumnName const &columnName, std::string_view binaryOp, T const &value) |
SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, InputRange const &values) |
Constructs or extends an WHERE/OR clause to test for a value, satisfying std::ranges::input_range. | |
SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, std::initializer_list< T > const &values) |
Constructs or extends an WHERE/OR clause to test for a value, satisfying std::initializer_list. | |
SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, SubSelectQuery const &subSelectQuery) |
Constructs or extends an WHERE/OR clause to test for a value, satisfying a sub-select query. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, InputRange const &values) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, std::initializer_list< T > const &values) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereIn (ColumnName const &columnName, SubSelectQuery const &subSelectQuery) |
SqlQuerySingleBuilder< Record > & | WhereNull (ColumnName const &columnName) |
Constructs or extends an WHERE/OR clause to test for a value to be NULL. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereNull (ColumnName const &columnName) |
SqlQuerySingleBuilder< Record > & | WhereNotNull (ColumnName const &columnName) |
Constructs or extends a WHERE clause to test for a value being not null. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereNotNull (ColumnName const &columnName) |
SqlQuerySingleBuilder< Record > & | WhereNotEqual (ColumnName const &columnName, T const &value) |
Constructs or extends a WHERE clause to test for a value being equal to another column. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereNotEqual (ColumnName const &columnName, T const &value) |
SqlQuerySingleBuilder< Record > & | WhereTrue (ColumnName const &columnName) |
Constructs or extends a WHERE clause to test for a value being true. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereTrue (ColumnName const &columnName) |
SqlQuerySingleBuilder< Record > & | WhereFalse (ColumnName const &columnName) |
Constructs or extends a WHERE clause to test for a value being false. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereFalse (ColumnName const &columnName) |
SqlQuerySingleBuilder< Record > & | WhereColumn (LeftColumn const &left, std::string_view binaryOp, RightColumn const &right) |
Construts or extends a WHERE clause to test for a binary operation between two columns. | |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | WhereColumn (LeftColumn const &left, std::string_view binaryOp, RightColumn const &right) |
SqlQuerySingleBuilder< Record > & | InnerJoin (std::string_view joinTable, std::string_view joinColumnName, SqlQualifiedTableColumnName onOtherColumn) |
Constructs an INNER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | InnerJoin (std::string_view joinTable, std::string_view joinColumnName, std::string_view onMainTableColumn) |
Constructs an INNER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | InnerJoin (std::string_view joinTable, OnChainCallable const &onClauseBuilder) |
Constructs an INNER JOIN clause with a custom ON clause. | |
SqlQuerySingleBuilder< Record > & | LeftOuterJoin (std::string_view joinTable, std::string_view joinColumnName, SqlQualifiedTableColumnName onOtherColumn) |
Constructs an LEFT OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | LeftOuterJoin (std::string_view joinTable, std::string_view joinColumnName, std::string_view onMainTableColumn) |
Constructs an LEFT OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | LeftOuterJoin (std::string_view joinTable, OnChainCallable const &onClauseBuilder) |
Constructs an LEFT OUTER JOIN clause with a custom ON clause. | |
SqlQuerySingleBuilder< Record > & | RightOuterJoin (std::string_view joinTable, std::string_view joinColumnName, SqlQualifiedTableColumnName onOtherColumn) |
Constructs an RIGHT OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | RightOuterJoin (std::string_view joinTable, std::string_view joinColumnName, std::string_view onMainTableColumn) |
Constructs an RIGHT OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | RightOuterJoin (std::string_view joinTable, OnChainCallable const &onClauseBuilder) |
Constructs an RIGHT OUTER JOIN clause with a custom ON clause. | |
SqlQuerySingleBuilder< Record > & | FullOuterJoin (std::string_view joinTable, std::string_view joinColumnName, SqlQualifiedTableColumnName onOtherColumn) |
Constructs an FULL OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | FullOuterJoin (std::string_view joinTable, std::string_view joinColumnName, std::string_view onMainTableColumn) |
Constructs an FULL OUTER JOIN clause. | |
SqlQuerySingleBuilder< Record > & | FullOuterJoin (std::string_view joinTable, OnChainCallable const &onClauseBuilder) |
Constructs an FULL OUTER JOIN clause with a custom ON clause. | |
LIGHTWEIGHT_FORCE_INLINE void | AppendColumnName (ColumnName const &columnName) |
LIGHTWEIGHT_FORCE_INLINE void | AppendLiteralValue (LiteralType const &value) |
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record > & | Join (JoinType joinType, std::string_view joinTable, Callable const &onClauseBuilder) |
Protected Member Functions | |
LIGHTWEIGHT_FORCE_INLINE | SqlQuerySingleBuilder (SqlStatement &stmt, std::string fields) noexcept |
Represents a query builder that retrieves only the first record found.
Definition at line 336 of file DataMapper.hpp.
|
inlineexplicitprotectednoexcept |
Definition at line 378 of file DataMapper.hpp.
|
inline |
Executes the query and returns the first record found.
Definition at line 387 of file DataMapper.hpp.
References SqlStatement::Connection(), SqlStatement::ExecuteDirect(), SqlResultCursor::FetchRow(), SqlStatement::GetResultCursor(), SqlQueryFormatter::SelectFirst(), and SqlConnection::ServerType().