SQL clauses builder. More...
#include <clausesBuilder.hpp>
Friends | |
ClausesBuilder | anch::sql::clauses () |
SQL clauses builder.
This class should be instantiated through utility functions.
anch::sql::ClausesBuilder::ClausesBuilder | ( | const ClausesBuilder & | other | ) |
ClausesBuilder copy constructor
other | the ClausesBuilder to copy |
|
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.
T | the value type |
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.
T | the value type |
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.
T | the value type |
clause | the clause maker |
value | the value |
check | the value checker to use |
ClausesBuilder destructor
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | ) |
Add AND
to SQL query
this
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | anch::sql::ClauseMaker | clause, |
T & | value, | ||
anch::sql::ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add AND
clause if value is valid
T | the value type |
clause | the clause maker |
value | the value |
checker | the value checker to use. Default: anch::sql::isValidValue<T> |
this
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | anch::sql::ClausesProvider | clauses | ) |
Add AND
other clauses if clauses are not null
or empty.
clauses | the clauses to add |
this
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | const ClausesBuilder & | other | ) |
Add clauses into parenthesis with AND
other | the clauses to add |
this
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | const std::string & | column, |
anch::sql::ClauseMaker | clause, | ||
T & | value, | ||
ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add AND
clause if value is valid
T | the value type |
column | the column |
clause | the clause maker |
value | the value |
checker | the value checker to use. Default: anch::sql::isValidValue<T> |
this
ClausesBuilder & anch::sql::ClausesBuilder::AND | ( | const std::string & | column, |
ClauseMaker | clause, | ||
T & | value1, | ||
T & | value2, | ||
ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add AND
clause if value is valid
T | the value type |
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> |
this
ClausesBuilder & anch::sql::ClausesBuilder::between | ( | ) |
Add BETWEEN
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::equals | ( | ) |
Add equals clause with =
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::exists | ( | const anch::sql::SelectBuilder & | query | ) |
Add EXISTS
in subquery clause
query | the select query |
this
ClausesBuilder & anch::sql::ClausesBuilder::field | ( | const std::string & | column | ) |
Add field to clause
column | the column |
this
ClausesBuilder & anch::sql::ClausesBuilder::greater | ( | ) |
Add greater clause with >
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::greaterEquals | ( | ) |
Add greater or equals clause with >=
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::in | ( | const anch::sql::SelectBuilder & | query | ) |
Add IN
subquery clause.
query | the subquery |
this
ClausesBuilder & anch::sql::ClausesBuilder::in | ( | const anch::sql::SQLQuery & | query | ) |
Add IN
subquery clause.
query | the subquery |
this
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.
T | the values' type |
values | the values |
this
ClausesBuilder & anch::sql::ClausesBuilder::isNotNull | ( | ) |
Add IS NOT NULL
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::isNull | ( | ) |
Add IS NULL
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::lesser | ( | ) |
Add lesser clause with <
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::lesserEquals | ( | ) |
Add lesser or equals clause with <=
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::like | ( | ) |
Add LIKE
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::NOT | ( | const std::string & | clauses | ) |
Add NOT
command
clauses | the clauses to negate |
this
ClausesBuilder & anch::sql::ClausesBuilder::notBetween | ( | ) |
Add NOT BETWEEN
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::notEquals | ( | ) |
Add not equals clause with <>
operator
this
ClausesBuilder & anch::sql::ClausesBuilder::notExists | ( | const anch::sql::SelectBuilder & | query | ) |
Add NOT EXISTS
in subquery clause
query | the select query |
this
ClausesBuilder & anch::sql::ClausesBuilder::notIn | ( | const anch::sql::SelectBuilder & | query | ) |
Add NOT IN
subquery clause.
query | the subquery |
this
ClausesBuilder & anch::sql::ClausesBuilder::notIn | ( | const anch::sql::SQLQuery & | query | ) |
Add NOT IN
subquery clause.
query | the subquery |
this
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.
T | the values' type |
values | the values |
this
ClausesBuilder & anch::sql::ClausesBuilder::notLike | ( | ) |
Add NOT LIKE
clause
this
ClausesBuilder & anch::sql::ClausesBuilder::operator|| | ( | const ClausesBuilder & | other | ) |
Add clauses into parenthesis with OR
other | the clauses to add |
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | ) |
Add OR
to SQL query
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | anch::sql::ClausesProvider | clauses | ) |
Add AND}
other clauses if clauses are not NULL
or empty.
clauses | the clauses to add |
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | ClauseMaker | clause, |
T & | value, | ||
ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add OR
clause if value is valid
T | the value type |
clause | the clause maker |
value | the value |
checker | the value checker to use. Default: anch::sql::isValidValue<T> |
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | const ClausesBuilder & | other | ) |
Add clauses into parenthesis with OR
other | the clauses to add |
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | const std::string & | column, |
ClauseMaker | clause, | ||
T & | value, | ||
ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add OR
clause if value is valid
T | the value type |
column | the column |
clause | the clause maker |
value | the value |
checker | the value checker to use. Default: anch::sql::isValidValue<T> |
this
ClausesBuilder & anch::sql::ClausesBuilder::OR | ( | const std::string & | column, |
ClauseMaker | clause, | ||
T & | value1, | ||
T & | value2, | ||
ValueChecker< T > | checker = anch::sql::isValidValue<T> ) |
Add OR
clause if value is valid
T | the value type |
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> |
this