SQL clauses builder.
More...
#include <clausesBuilder.hpp>
|
| | ClausesBuilder (const ClausesBuilder &other) |
| virtual | ~ClausesBuilder () |
| ClausesBuilder & | field (const std::string &column) |
| ClausesBuilder & | NOT (const std::string &clauses) |
| ClausesBuilder & | isNull () |
| ClausesBuilder & | isNotNull () |
| ClausesBuilder & | notEquals () |
| ClausesBuilder & | equals () |
| ClausesBuilder & | notExists (const anch::sql::SelectBuilder &query) |
| ClausesBuilder & | exists (const anch::sql::SelectBuilder &query) |
| template<typename T> |
| ClausesBuilder & | in (const std::vector< T > &values) |
| template<typename T> |
| ClausesBuilder & | notIn (const std::vector< T > &values) |
| ClausesBuilder & | in (const anch::sql::SQLQuery &query) |
| ClausesBuilder & | notIn (const anch::sql::SQLQuery &query) |
| ClausesBuilder & | in (const anch::sql::SelectBuilder &query) |
| ClausesBuilder & | notIn (const anch::sql::SelectBuilder &query) |
| ClausesBuilder & | greater () |
| ClausesBuilder & | greaterEquals () |
| ClausesBuilder & | lesser () |
| ClausesBuilder & | lesserEquals () |
| ClausesBuilder & | like () |
| ClausesBuilder & | notLike () |
| ClausesBuilder & | between () |
| ClausesBuilder & | notBetween () |
| ClausesBuilder & | AND () |
| ClausesBuilder & | OR () |
| ClausesBuilder & | AND (anch::sql::ClausesProvider clauses) |
| template<typename T> |
| ClausesBuilder & | AND (anch::sql::ClauseMaker clause, T &value, anch::sql::ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| template<typename T> |
| ClausesBuilder & | AND (const std::string &column, anch::sql::ClauseMaker clause, T &value, ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| template<typename T> |
| ClausesBuilder & | AND (const std::string &column, ClauseMaker clause, T &value1, T &value2, ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| template<typename T> |
| ClausesBuilder & | OR (ClauseMaker clause, T &value, ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| template<typename T> |
| ClausesBuilder & | OR (const std::string &column, ClauseMaker clause, T &value, ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| template<typename T> |
| ClausesBuilder & | OR (const std::string &column, ClauseMaker clause, T &value1, T &value2, ValueChecker< T > checker=anch::sql::isValidValue< T >) |
| ClausesBuilder & | OR (anch::sql::ClausesProvider clauses) |
| ClausesBuilder & | AND (const ClausesBuilder &other) |
| ClausesBuilder & | OR (const ClausesBuilder &other) |
| ClausesBuilder & | operator|| (const ClausesBuilder &other) |
|
|
ClausesBuilder | anch::sql::clauses () |
SQL clauses builder.
This class should be instantiated through utility functions.
- Since
- 0.1
- Author
- Vincent Lachenal
◆ ClausesBuilder()
| anch::sql::ClausesBuilder::ClausesBuilder |
( |
const ClausesBuilder & | other | ) |
|
◆ ~ClausesBuilder()
| virtual anch::sql::ClausesBuilder::~ClausesBuilder |
( |
| ) |
|
|
virtual |
ClausesBuilder constructor.
This constructor will try to add a first clause if value is valid. Value will be validated with SQL::isValidValue function.
This constructor can be used to add 'EXISTS' clause.
- Template Parameters
-
- Parameters
-
| clause | the clause maker |
| value | the value |
| check | the value checker to use |
ClausesBuilder constructor.
This constructor will try to add a first clause if value is valid. Value will be validated with SQL::isValidValue function.
This constructor can be used to add 'EXISTS' clause.
- Template Parameters
-
- Parameters
-
| clause | the clause maker |
| value | the value |
ClausesBuilder constructor.
This constructor will try to add a first clause if value is valid. Value will be validated with SQL::isValidValue function.
This constructor can be used to add 'EXISTS' clause.
- Template Parameters
-
- Parameters
-
| clause | the clause maker |
| value | the value |
| check | the value checker to use |
ClausesBuilder destructor
◆ AND() [1/6]
| ClausesBuilder & anch::sql::ClausesBuilder::AND |
( |
| ) |
|
Add AND to SQL query
- Returns
this
◆ AND() [2/6]
Add AND clause if value is valid
- Template Parameters
-
- Parameters
-
- Returns
this
◆ AND() [3/6]
Add AND other clauses if clauses are not null or empty.
- Parameters
-
| clauses | the clauses to add |
- Returns
this
◆ AND() [4/6]
| ClausesBuilder & anch::sql::ClausesBuilder::AND |
( |
const ClausesBuilder & | other | ) |
|
Add clauses into parenthesis with AND
- Parameters
-
- Returns
this
◆ AND() [5/6]
Add AND clause if value is valid
- Template Parameters
-
- Parameters
-
- Returns
this
◆ AND() [6/6]
Add AND clause if value is valid
- Template Parameters
-
- Parameters
-
| column | the column |
| clause | the clause maker |
| value1 | the first value |
| value2 | the second value |
| checker | the value checker to use. Default: anch::sql::isValidValue<T> |
- Returns
this
◆ between()
| ClausesBuilder & anch::sql::ClausesBuilder::between |
( |
| ) |
|
Add BETWEEN clause
- Returns
this
◆ equals()
| ClausesBuilder & anch::sql::ClausesBuilder::equals |
( |
| ) |
|
Add equals clause with = operator
- Returns
this
◆ exists()
Add EXISTS in subquery clause
- Parameters
-
- Returns
this
◆ field()
| ClausesBuilder & anch::sql::ClausesBuilder::field |
( |
const std::string & | column | ) |
|
Add field to clause
- Parameters
-
- Returns
this
◆ greater()
| ClausesBuilder & anch::sql::ClausesBuilder::greater |
( |
| ) |
|
Add greater clause with > operator
- Returns
this
◆ greaterEquals()
| ClausesBuilder & anch::sql::ClausesBuilder::greaterEquals |
( |
| ) |
|
Add greater or equals clause with >= operator
- Returns
this
◆ in() [1/3]
Add IN subquery clause.
- Parameters
-
- Returns
this
◆ in() [2/3]
Add IN subquery clause.
- Parameters
-
- Returns
this
◆ in() [3/3]
template<typename T>
| ClausesBuilder & anch::sql::ClausesBuilder::in |
( |
const std::vector< T > & | values | ) |
|
Add IN clause.
Due to many database engine limitation about the maximum number of prepared statement per connection, IN operator will never be treated with place holder prepared statement values.
You can format text values with SQL utility methods.
- Template Parameters
-
- Parameters
-
- Returns
this
◆ isNotNull()
| ClausesBuilder & anch::sql::ClausesBuilder::isNotNull |
( |
| ) |
|
Add IS NOT NULL clause
- Returns
this
◆ isNull()
| ClausesBuilder & anch::sql::ClausesBuilder::isNull |
( |
| ) |
|
Add IS NULL clause
- Returns
this
◆ lesser()
| ClausesBuilder & anch::sql::ClausesBuilder::lesser |
( |
| ) |
|
Add lesser clause with < operator
- Returns
this
◆ lesserEquals()
| ClausesBuilder & anch::sql::ClausesBuilder::lesserEquals |
( |
| ) |
|
Add lesser or equals clause with <= operator
- Returns
this
◆ like()
| ClausesBuilder & anch::sql::ClausesBuilder::like |
( |
| ) |
|
Add LIKE clause
- Returns
this
◆ NOT()
| ClausesBuilder & anch::sql::ClausesBuilder::NOT |
( |
const std::string & | clauses | ) |
|
Add NOT command
- Parameters
-
| clauses | the clauses to negate |
- Returns
this
◆ notBetween()
| ClausesBuilder & anch::sql::ClausesBuilder::notBetween |
( |
| ) |
|
Add NOT BETWEEN clause
- Returns
this
◆ notEquals()
| ClausesBuilder & anch::sql::ClausesBuilder::notEquals |
( |
| ) |
|
Add not equals clause with <> operator
- Returns
this
◆ notExists()
Add NOT EXISTS in subquery clause
- Parameters
-
- Returns
this
◆ notIn() [1/3]
Add NOT IN subquery clause.
- Parameters
-
- Returns
this
◆ notIn() [2/3]
Add NOT IN subquery clause.
- Parameters
-
- Returns
this
◆ notIn() [3/3]
template<typename T>
| ClausesBuilder & anch::sql::ClausesBuilder::notIn |
( |
const std::vector< T > & | values | ) |
|
Add NOT IN clause.
Due to many database engine limitation about the maximum number of prepared statement per connection, NOT IN operator will never be treated with place holder prepared statement values.
You can format text values with SQL utility methods.
- Template Parameters
-
- Parameters
-
- Returns
this
◆ notLike()
| ClausesBuilder & anch::sql::ClausesBuilder::notLike |
( |
| ) |
|
Add NOT LIKE clause
- Returns
this
◆ operator||()
| ClausesBuilder & anch::sql::ClausesBuilder::operator|| |
( |
const ClausesBuilder & | other | ) |
|
Add clauses into parenthesis with OR
- Parameters
-
- Returns
this
◆ OR() [1/6]
| ClausesBuilder & anch::sql::ClausesBuilder::OR |
( |
| ) |
|
Add OR to SQL query
- Returns
this
◆ OR() [2/6]
Add AND} other clauses if clauses are not NULL or empty.
- Parameters
-
| clauses | the clauses to add |
- Returns
this
◆ OR() [3/6]
Add OR clause if value is valid
- Template Parameters
-
- Parameters
-
- Returns
this
◆ OR() [4/6]
| ClausesBuilder & anch::sql::ClausesBuilder::OR |
( |
const ClausesBuilder & | other | ) |
|
Add clauses into parenthesis with OR
- Parameters
-
- Returns
this
◆ OR() [5/6]
Add OR clause if value is valid
- Template Parameters
-
- Parameters
-
- Returns
this
◆ OR() [6/6]
Add OR clause if value is valid
- Template Parameters
-
- Parameters
-
| column | the column |
| clause | the clause maker |
| value1 | the first value |
| value2 | the second value |
| checker | the value checker to use. Default: anch::sql::isValidValue<T> |
- Returns
this
The documentation for this class was generated from the following file: