Lightweight 0.1.0
All Classes Functions Variables Typedefs Enumerations Modules Pages Concepts
SqlQuerySingleBuilder< Record > Class Template Reference

Represents a query builder that retrieves only the first record found. More...

#include <DataMapper.hpp>

Inheritance diagram for SqlQuerySingleBuilder< Record >:
SqlWhereClauseBuilder< SqlQuerySingleBuilder< Record > >

Public Member Functions

std::optional< Record > Get ()
 Executes the query and returns the first record found.
 
- Public Member Functions inherited from SqlWhereClauseBuilder< SqlQuerySingleBuilder< Record > >
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
 

Detailed Description

template<typename Record>
class SqlQuerySingleBuilder< Record >

Represents a query builder that retrieves only the first record found.

See also
DataMapper::QuerySingle()

Definition at line 336 of file DataMapper.hpp.

Constructor & Destructor Documentation

◆ SqlQuerySingleBuilder()

template<typename Record >
LIGHTWEIGHT_FORCE_INLINE SqlQuerySingleBuilder< Record >::SqlQuerySingleBuilder ( SqlStatement stmt,
std::string  fields 
)
inlineexplicitprotectednoexcept

Definition at line 378 of file DataMapper.hpp.

Member Function Documentation

◆ Get()

template<typename Record >
std::optional< Record > SqlQuerySingleBuilder< Record >::Get ( )
inline

The documentation for this class was generated from the following file: