mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-15 20:31:16 +08:00
Cleanup some warning and includes
This commit is contained in:
parent
68021772c2
commit
d0a8ea21af
@ -28,7 +28,6 @@
|
|||||||
#define SQLPP11_ALIAS_H
|
#define SQLPP11_ALIAS_H
|
||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <sqlpp11/default_value.h>
|
#include <sqlpp11/default_value.h>
|
||||||
#include <sqlpp11/null.h>
|
#include <sqlpp11/null.h>
|
||||||
#include <sqlpp11/serialize.h>
|
#include <sqlpp11/serialize.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/simple_column.h>
|
#include <sqlpp11/simple_column.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -127,7 +127,7 @@ namespace sqlpp
|
|||||||
auto operator==(T t) const -> _new_binary_expression_t<equal_to_t, T>
|
auto operator==(T t) const -> _new_binary_expression_t<equal_to_t, T>
|
||||||
{
|
{
|
||||||
using rhs = wrap_operand_t<T>;
|
using rhs = wrap_operand_t<T>;
|
||||||
check_comparison_t<Expr, rhs>{};
|
check_comparison_t<Expr, rhs>::verify();
|
||||||
|
|
||||||
return {*static_cast<const Expr*>(this), rhs{t}};
|
return {*static_cast<const Expr*>(this), rhs{t}};
|
||||||
}
|
}
|
||||||
@ -136,7 +136,7 @@ namespace sqlpp
|
|||||||
auto operator!=(T t) const -> _new_binary_expression_t<not_equal_to_t, T>
|
auto operator!=(T t) const -> _new_binary_expression_t<not_equal_to_t, T>
|
||||||
{
|
{
|
||||||
using rhs = wrap_operand_t<T>;
|
using rhs = wrap_operand_t<T>;
|
||||||
check_comparison_t<Expr, rhs>{};
|
check_comparison_t<Expr, rhs>::verify();
|
||||||
|
|
||||||
return {*static_cast<const Expr*>(this), rhs{t}};
|
return {*static_cast<const Expr*>(this), rhs{t}};
|
||||||
}
|
}
|
||||||
@ -145,7 +145,7 @@ namespace sqlpp
|
|||||||
auto operator<(T t) const -> _new_binary_expression_t<less_than_t, T>
|
auto operator<(T t) const -> _new_binary_expression_t<less_than_t, T>
|
||||||
{
|
{
|
||||||
using rhs = wrap_operand_t<T>;
|
using rhs = wrap_operand_t<T>;
|
||||||
check_comparison_t<Expr, rhs>{};
|
check_comparison_t<Expr, rhs>::verify();
|
||||||
|
|
||||||
return {*static_cast<const Expr*>(this), rhs{t}};
|
return {*static_cast<const Expr*>(this), rhs{t}};
|
||||||
}
|
}
|
||||||
@ -154,7 +154,7 @@ namespace sqlpp
|
|||||||
auto operator<=(T t) const -> _new_binary_expression_t<less_equal_t, T>
|
auto operator<=(T t) const -> _new_binary_expression_t<less_equal_t, T>
|
||||||
{
|
{
|
||||||
using rhs = wrap_operand_t<T>;
|
using rhs = wrap_operand_t<T>;
|
||||||
check_comparison_t<Expr, rhs>{};
|
check_comparison_t<Expr, rhs>::verify();
|
||||||
|
|
||||||
return {*static_cast<const Expr*>(this), rhs{t}};
|
return {*static_cast<const Expr*>(this), rhs{t}};
|
||||||
}
|
}
|
||||||
@ -163,7 +163,7 @@ namespace sqlpp
|
|||||||
auto operator>(T t) const -> _new_binary_expression_t<greater_than_t, T>
|
auto operator>(T t) const -> _new_binary_expression_t<greater_than_t, T>
|
||||||
{
|
{
|
||||||
using rhs = wrap_operand_t<T>;
|
using rhs = wrap_operand_t<T>;
|
||||||
check_comparison_t<Expr, rhs>{};
|
check_comparison_t<Expr, rhs>::verify();
|
||||||
|
|
||||||
return {*static_cast<const Expr*>(this), rhs{t}};
|
return {*static_cast<const Expr*>(this), rhs{t}};
|
||||||
}
|
}
|
||||||
@ -205,98 +205,98 @@ namespace sqlpp
|
|||||||
template <typename... T>
|
template <typename... T>
|
||||||
auto in(T... t) const -> typename _new_nary_expression<in_t, T...>::type
|
auto in(T... t) const -> typename _new_nary_expression<in_t, T...>::type
|
||||||
{
|
{
|
||||||
check_in_t<Expr, wrap_operand_t<T>...>{};
|
check_in_t<Expr, wrap_operand_t<T>...>::verify();
|
||||||
return {*static_cast<const Expr*>(this), typename wrap_operand<T>::type{t}...};
|
return {*static_cast<const Expr*>(this), typename wrap_operand<T>::type{t}...};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename... T>
|
template <typename... T>
|
||||||
auto not_in(T... t) const -> typename _new_nary_expression<not_in_t, T...>::type
|
auto not_in(T... t) const -> typename _new_nary_expression<not_in_t, T...>::type
|
||||||
{
|
{
|
||||||
check_in_t<Expr, wrap_operand_t<T>...>{};
|
check_in_t<Expr, wrap_operand_t<T>...>::verify();
|
||||||
return {*static_cast<const Expr*>(this), typename wrap_operand<T>::type{t}...};
|
return {*static_cast<const Expr*>(this), typename wrap_operand<T>::type{t}...};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Defer = void>
|
template <typename Defer = void>
|
||||||
auto operator not() const -> return_type_not_t<Expr, Defer>
|
auto operator not() const -> return_type_not_t<Expr, Defer>
|
||||||
{
|
{
|
||||||
typename return_type_not<Expr, Defer>::check{};
|
return_type_not<Expr, Defer>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this)};
|
return {*static_cast<const Expr*>(this)};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator and(const R& r) const -> return_type_and_t<Expr, R>
|
auto operator and(const R& r) const -> return_type_and_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_and<Expr, R>::check{};
|
return_type_and<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator&(const R& r) const -> return_type_bitwise_and_t<Expr, R>
|
auto operator&(const R& r) const -> return_type_bitwise_and_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_bitwise_and<Expr, R>::check{};
|
return_type_bitwise_and<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator|(const R& r) const -> return_type_bitwise_or_t<Expr, R>
|
auto operator|(const R& r) const -> return_type_bitwise_or_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_bitwise_or<Expr, R>::check{};
|
return_type_bitwise_or<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator or(const R& r) const -> return_type_or_t<Expr, R>
|
auto operator or(const R& r) const -> return_type_or_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_or<Expr, R>::check{};
|
return_type_or<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator+(const R& r) const -> return_type_plus_t<Expr, R>
|
auto operator+(const R& r) const -> return_type_plus_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_plus<Expr, R>::check{};
|
return_type_plus<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator-(const R& r) const -> return_type_minus_t<Expr, R>
|
auto operator-(const R& r) const -> return_type_minus_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_minus<Expr, R>::check{};
|
return_type_minus<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator*(const R& r) const -> return_type_multiplies_t<Expr, R>
|
auto operator*(const R& r) const -> return_type_multiplies_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_multiplies<Expr, R>::check{};
|
return_type_multiplies<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator/(const R& r) const -> return_type_divides_t<Expr, R>
|
auto operator/(const R& r) const -> return_type_divides_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_divides<Expr, R>::check{};
|
return_type_divides<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename R>
|
template <typename R>
|
||||||
auto operator%(const R& r) const -> return_type_modulus_t<Expr, R>
|
auto operator%(const R& r) const -> return_type_modulus_t<Expr, R>
|
||||||
{
|
{
|
||||||
typename return_type_modulus<Expr, R>::check{};
|
return_type_modulus<Expr, R>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Defer = void>
|
template <typename Defer = void>
|
||||||
auto operator+() const -> return_type_unary_plus_t<Expr, Defer>
|
auto operator+() const -> return_type_unary_plus_t<Expr, Defer>
|
||||||
{
|
{
|
||||||
typename return_type_unary_plus<Expr, Defer>::check{};
|
return_type_unary_plus<Expr, Defer>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this)};
|
return {*static_cast<const Expr*>(this)};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Defer = void>
|
template <typename Defer = void>
|
||||||
auto operator-() const -> return_type_unary_minus_t<Expr, Defer>
|
auto operator-() const -> return_type_unary_minus_t<Expr, Defer>
|
||||||
{
|
{
|
||||||
typename return_type_unary_minus<Expr, Defer>::check{};
|
return_type_unary_minus<Expr, Defer>::check::verify();
|
||||||
return {*static_cast<const Expr*>(this)};
|
return {*static_cast<const Expr*>(this)};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -27,10 +27,17 @@
|
|||||||
#ifndef SQLPP11_CHAR_SEQUENCE_H
|
#ifndef SQLPP11_CHAR_SEQUENCE_H
|
||||||
#define SQLPP11_CHAR_SEQUENCE_H
|
#define SQLPP11_CHAR_SEQUENCE_H
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
#include <sqlpp11/detail/index_sequence.h>
|
#include <sqlpp11/detail/index_sequence.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
template <typename Context>
|
||||||
|
std::integral_constant<char, '"'> get_quote_left(const Context&);
|
||||||
|
|
||||||
|
template <typename Context>
|
||||||
|
std::integral_constant<char, '"'> get_quote_right(const Context&);
|
||||||
|
|
||||||
template <char... Cs>
|
template <char... Cs>
|
||||||
struct char_sequence
|
struct char_sequence
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/assignment.h>
|
#include <sqlpp11/assignment.h>
|
||||||
#include <sqlpp11/expression.h>
|
#include <sqlpp11/expression.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/wrong.h>
|
#include <sqlpp11/wrong.h>
|
||||||
#include <sqlpp11/detail/type_set.h>
|
#include <sqlpp11/detail/type_set.h>
|
||||||
|
|
||||||
|
@ -33,6 +33,10 @@ namespace sqlpp
|
|||||||
{
|
{
|
||||||
struct consistent_t : std::true_type
|
struct consistent_t : std::true_type
|
||||||
{
|
{
|
||||||
|
template <typename... T>
|
||||||
|
static constexpr void verify(T&&...)
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
} // namespace sqlpp
|
} // namespace sqlpp
|
||||||
|
|
||||||
|
@ -92,14 +92,14 @@ namespace sqlpp
|
|||||||
template <typename Db>
|
template <typename Db>
|
||||||
auto _run(Db& db) const -> decltype(std::declval<_methods_t>()._run(db, *this))
|
auto _run(Db& db) const -> decltype(std::declval<_methods_t>()._run(db, *this))
|
||||||
{
|
{
|
||||||
_run_check{}; // FIXME: dispatch here?
|
_run_check::verify();
|
||||||
return _methods_t::_run(db, *this);
|
return _methods_t::_run(db, *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Db>
|
template <typename Db>
|
||||||
auto _prepare(Db& db) const -> decltype(std::declval<_methods_t>()._prepare(db, *this))
|
auto _prepare(Db& db) const -> decltype(std::declval<_methods_t>()._prepare(db, *this))
|
||||||
{
|
{
|
||||||
_prepare_check{}; // FIXME: dispatch here?
|
_prepare_check::verify();
|
||||||
return _methods_t::_prepare(db, *this);
|
return _methods_t::_prepare(db, *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ namespace sqlpp
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename Context, typename Database, typename... Parts>
|
template <typename Context, typename Database, typename... Parts>
|
||||||
Context serialize(const custom_query_t<Database, Parts...>& t, Context& context)
|
Context& serialize(const custom_query_t<Database, Parts...>& t, Context& context)
|
||||||
{
|
{
|
||||||
interpret_tuple_without_braces(t._parts, " ", context);
|
interpret_tuple_without_braces(t._parts, " ", context);
|
||||||
return context;
|
return context;
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <sqlpp11/chrono.h>
|
#include <sqlpp11/chrono.h>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ namespace sqlpp
|
|||||||
template <typename R>
|
template <typename R>
|
||||||
auto like(const R& r) const -> return_type_like_t<Expression, R>
|
auto like(const R& r) const -> return_type_like_t<Expression, R>
|
||||||
{
|
{
|
||||||
typename return_type_like<Expression, R>::check{};
|
return_type_like<Expression, R>::check::verify();
|
||||||
return {*static_cast<const Expression*>(this), wrap_operand_t<R>{r}};
|
return {*static_cast<const Expression*>(this), wrap_operand_t<R>{r}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <sqlpp11/chrono.h>
|
#include <sqlpp11/chrono.h>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <sqlpp11/chrono.h>
|
#include <sqlpp11/chrono.h>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/alias_operators.h>
|
#include <sqlpp11/alias_operators.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -121,35 +121,35 @@ namespace sqlpp
|
|||||||
template <typename Table>
|
template <typename Table>
|
||||||
auto dynamic_join(Table table) -> make_dynamic_pre_join_t<inner_join_t, Table>
|
auto dynamic_join(Table table) -> make_dynamic_pre_join_t<inner_join_t, Table>
|
||||||
{
|
{
|
||||||
check_dynamic_pre_join_t<Table>{}; // FIXME: Failure return type?
|
check_dynamic_pre_join_t<Table>::verify(); // FIXME: Failure return type?
|
||||||
return {table};
|
return {table};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Table>
|
template <typename Table>
|
||||||
auto dynamic_inner_join(Table table) -> make_dynamic_pre_join_t<inner_join_t, Table>
|
auto dynamic_inner_join(Table table) -> make_dynamic_pre_join_t<inner_join_t, Table>
|
||||||
{
|
{
|
||||||
check_dynamic_pre_join_t<Table>{};
|
check_dynamic_pre_join_t<Table>::verify();
|
||||||
return {table};
|
return {table};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Table>
|
template <typename Table>
|
||||||
auto dynamic_left_outer_join(Table table) -> make_dynamic_pre_join_t<left_outer_join_t, Table>
|
auto dynamic_left_outer_join(Table table) -> make_dynamic_pre_join_t<left_outer_join_t, Table>
|
||||||
{
|
{
|
||||||
check_dynamic_pre_join_t<Table>{};
|
check_dynamic_pre_join_t<Table>::verify();
|
||||||
return {table};
|
return {table};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Table>
|
template <typename Table>
|
||||||
auto dynamic_right_outer_join(Table table) -> make_dynamic_pre_join_t<right_outer_join_t, Table>
|
auto dynamic_right_outer_join(Table table) -> make_dynamic_pre_join_t<right_outer_join_t, Table>
|
||||||
{
|
{
|
||||||
check_dynamic_pre_join_t<Table>{};
|
check_dynamic_pre_join_t<Table>::verify();
|
||||||
return {table};
|
return {table};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Table>
|
template <typename Table>
|
||||||
auto dynamic_outer_join(Table table) -> make_dynamic_pre_join_t<outer_join_t, Table>
|
auto dynamic_outer_join(Table table) -> make_dynamic_pre_join_t<outer_join_t, Table>
|
||||||
{
|
{
|
||||||
check_dynamic_pre_join_t<Table>{};
|
check_dynamic_pre_join_t<Table>::verify();
|
||||||
return {table};
|
return {table};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <sqlpp11/data_types/boolean.h>
|
#include <sqlpp11/data_types/boolean.h>
|
||||||
#include <sqlpp11/expression_fwd.h>
|
#include <sqlpp11/expression_fwd.h>
|
||||||
#include <sqlpp11/noop.h>
|
#include <sqlpp11/noop.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/wrap_operand.h>
|
#include <sqlpp11/wrap_operand.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -27,8 +27,6 @@
|
|||||||
#ifndef SQLPP11_HIDDEN_H
|
#ifndef SQLPP11_HIDDEN_H
|
||||||
#define SQLPP11_HIDDEN_H
|
#define SQLPP11_HIDDEN_H
|
||||||
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
template <typename Clause>
|
template <typename Clause>
|
||||||
|
@ -72,12 +72,12 @@ namespace sqlpp
|
|||||||
std::tuple<Args...> _args;
|
std::tuple<Args...> _args;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Context, typename Operand, typename... Args>
|
template <typename Context, typename Operand, typename Arg, typename... Args>
|
||||||
Context& serialize(const in_t<Operand, Args...>& t, Context& context)
|
Context& serialize(const in_t<Operand, Arg, Args...>& t, Context& context)
|
||||||
{
|
{
|
||||||
serialize(t._operand, context);
|
serialize(t._operand, context);
|
||||||
context << " IN(";
|
context << " IN(";
|
||||||
if (sizeof...(Args) == 1)
|
if (sizeof...(Args) == 0)
|
||||||
{
|
{
|
||||||
serialize(std::get<0>(t._args), context);
|
serialize(std::get<0>(t._args), context);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <sqlpp11/null.h>
|
#include <sqlpp11/null.h>
|
||||||
#include <sqlpp11/value_or_null.h>
|
#include <sqlpp11/value_or_null.h>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/detail/type_set.h>
|
#include <sqlpp11/detail/type_set.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <sqlpp11/detail/type_set.h>
|
#include <sqlpp11/detail/type_set.h>
|
||||||
#include <sqlpp11/no_data.h>
|
#include <sqlpp11/no_data.h>
|
||||||
#include <sqlpp11/prepared_insert.h>
|
#include <sqlpp11/prepared_insert.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/statement_fwd.h>
|
#include <sqlpp11/statement_fwd.h>
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
|
|
||||||
|
@ -27,9 +27,6 @@
|
|||||||
#ifndef SQLPP11_NO_DATA_H
|
#ifndef SQLPP11_NO_DATA_H
|
||||||
#define SQLPP11_NO_DATA_H
|
#define SQLPP11_NO_DATA_H
|
||||||
|
|
||||||
#include <type_traits>
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
struct no_data_t
|
struct no_data_t
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <sqlpp11/data_types/no_value.h>
|
#include <sqlpp11/data_types/no_value.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/prepared_execute.h>
|
#include <sqlpp11/prepared_execute.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -72,12 +72,12 @@ namespace sqlpp
|
|||||||
std::tuple<Args...> _args;
|
std::tuple<Args...> _args;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Context, typename Operand, typename... Args>
|
template <typename Context, typename Operand, typename Arg, typename... Args>
|
||||||
Context& serialize(const not_in_t<Operand, Args...>& t, Context& context)
|
Context& serialize(const not_in_t<Operand, Arg, Args...>& t, Context& context)
|
||||||
{
|
{
|
||||||
serialize_operand(t._operand, context);
|
serialize_operand(t._operand, context);
|
||||||
context << " NOT IN(";
|
context << " NOT IN(";
|
||||||
if (sizeof...(Args) == 1)
|
if (sizeof...(Args) == 0)
|
||||||
{
|
{
|
||||||
serialize(std::get<0>(t._args), context);
|
serialize(std::get<0>(t._args), context);
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#define SQLPP11_OVER_H
|
#define SQLPP11_OVER_H
|
||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
@ -36,7 +36,12 @@ namespace sqlpp
|
|||||||
struct name : std::false_type \
|
struct name : std::false_type \
|
||||||
{ \
|
{ \
|
||||||
template <typename... T> \
|
template <typename... T> \
|
||||||
explicit name(T&&...) \
|
constexpr explicit name(T&&...) \
|
||||||
|
{ \
|
||||||
|
static_assert(wrong_t<T...>::value, message); \
|
||||||
|
} \
|
||||||
|
template <typename... T> \
|
||||||
|
static constexpr void verify(T&&...) \
|
||||||
{ \
|
{ \
|
||||||
static_assert(wrong_t<T...>::value, message); \
|
static_assert(wrong_t<T...>::value, message); \
|
||||||
} \
|
} \
|
||||||
|
@ -176,7 +176,7 @@ namespace sqlpp
|
|||||||
template <typename Lhs, typename Rhs>
|
template <typename Lhs, typename Rhs>
|
||||||
auto right_outer_join(Lhs lhs, Rhs rhs) -> decltype(detail::join_impl<right_outer_join_t>(lhs, rhs))
|
auto right_outer_join(Lhs lhs, Rhs rhs) -> decltype(detail::join_impl<right_outer_join_t>(lhs, rhs))
|
||||||
{
|
{
|
||||||
check_pre_join_t<Lhs, Rhs>{};
|
check_pre_join_t<Lhs, Rhs>::verify();
|
||||||
|
|
||||||
return {from_table(lhs), from_table(rhs)};
|
return {from_table(lhs), from_table(rhs)};
|
||||||
}
|
}
|
||||||
|
@ -29,9 +29,6 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
struct schema_t
|
struct schema_t
|
||||||
|
@ -245,7 +245,7 @@ namespace sqlpp
|
|||||||
template <typename AliasProvider>
|
template <typename AliasProvider>
|
||||||
_alias_t<AliasProvider> as(const AliasProvider& aliasProvider) const
|
_alias_t<AliasProvider> as(const AliasProvider& aliasProvider) const
|
||||||
{
|
{
|
||||||
consistency_check_t<_statement_t>{};
|
consistency_check_t<_statement_t>::verify();
|
||||||
static_assert(_statement_t::_can_be_used_as_table(),
|
static_assert(_statement_t::_can_be_used_as_table(),
|
||||||
"statement cannot be used as table, e.g. due to missing tables");
|
"statement cannot be used as table, e.g. due to missing tables");
|
||||||
return _table_t<AliasProvider>(_get_statement()).as(aliasProvider);
|
return _table_t<AliasProvider>(_get_statement()).as(aliasProvider);
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#ifndef SQLPP11_SERIALIZE_H
|
#ifndef SQLPP11_SERIALIZE_H
|
||||||
#define SQLPP11_SERIALIZE_H
|
#define SQLPP11_SERIALIZE_H
|
||||||
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013-2015, Roland Bock
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
* are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer in the documentation and/or
|
|
||||||
* other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SQLPP11_SERIALIZER_H
|
|
||||||
#define SQLPP11_SERIALIZER_H
|
|
||||||
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
namespace sqlpp
|
|
||||||
{
|
|
||||||
// FIXME: Move to type_traits.h, for instance
|
|
||||||
template <typename Context>
|
|
||||||
std::integral_constant<char, '"'> get_quote_left(const Context&);
|
|
||||||
|
|
||||||
template <typename Context>
|
|
||||||
std::integral_constant<char, '"'> get_quote_right(const Context&);
|
|
||||||
} // namespace sqlpp
|
|
||||||
|
|
||||||
#endif
|
|
@ -27,7 +27,6 @@
|
|||||||
#ifndef SQLPP11_SIMPLE_COLUMN_H
|
#ifndef SQLPP11_SIMPLE_COLUMN_H
|
||||||
#define SQLPP11_SIMPLE_COLUMN_H
|
#define SQLPP11_SIMPLE_COLUMN_H
|
||||||
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <sqlpp11/detail/type_set.h>
|
#include <sqlpp11/detail/type_set.h>
|
||||||
#include <sqlpp11/no_data.h>
|
#include <sqlpp11/no_data.h>
|
||||||
#include <sqlpp11/prepared_insert.h>
|
#include <sqlpp11/prepared_insert.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
#include <sqlpp11/prepared_select.h>
|
#include <sqlpp11/prepared_select.h>
|
||||||
#include <sqlpp11/result.h>
|
#include <sqlpp11/result.h>
|
||||||
#include <sqlpp11/serialize.h>
|
#include <sqlpp11/serialize.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
#include <sqlpp11/detail/get_first.h>
|
#include <sqlpp11/detail/get_first.h>
|
||||||
#include <sqlpp11/detail/get_last.h>
|
#include <sqlpp11/detail/get_last.h>
|
||||||
@ -237,14 +236,14 @@ namespace sqlpp
|
|||||||
template <typename Database>
|
template <typename Database>
|
||||||
auto _run(Database& db) const -> decltype(std::declval<_result_methods_t<statement_t>>()._run(db))
|
auto _run(Database& db) const -> decltype(std::declval<_result_methods_t<statement_t>>()._run(db))
|
||||||
{
|
{
|
||||||
_run_check{}; // FIXME: Dispatch?
|
_run_check::verify();
|
||||||
return _result_methods_t<statement_t>::_run(db);
|
return _result_methods_t<statement_t>::_run(db);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Database>
|
template <typename Database>
|
||||||
auto _prepare(Database& db) const -> decltype(std::declval<_result_methods_t<statement_t>>()._prepare(db))
|
auto _prepare(Database& db) const -> decltype(std::declval<_result_methods_t<statement_t>>()._prepare(db))
|
||||||
{
|
{
|
||||||
_prepare_check{}; // FIXME: Dispatch?
|
_prepare_check::verify();
|
||||||
return _result_methods_t<statement_t>::_prepare(db);
|
return _result_methods_t<statement_t>::_prepare(db);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <sqlpp11/consistent.h>
|
#include <sqlpp11/consistent.h>
|
||||||
#include <sqlpp11/portable_static_assert.h>
|
#include <sqlpp11/portable_static_assert.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
#include <sqlpp11/detail/type_vector.h>
|
#include <sqlpp11/detail/type_vector.h>
|
||||||
#include <sqlpp11/detail/type_set.h>
|
#include <sqlpp11/detail/type_set.h>
|
||||||
#include <sqlpp11/detail/void.h>
|
#include <sqlpp11/detail/void.h>
|
||||||
|
@ -27,8 +27,6 @@
|
|||||||
#ifndef SQLPP11_UNION_DATA_H
|
#ifndef SQLPP11_UNION_DATA_H
|
||||||
#define SQLPP11_UNION_DATA_H
|
#define SQLPP11_UNION_DATA_H
|
||||||
|
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
template <typename Database, typename Flag, typename Lhs, typename Rhs>
|
template <typename Database, typename Flag, typename Lhs, typename Rhs>
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sqlpp11/type_traits.h>
|
#include <sqlpp11/type_traits.h>
|
||||||
#include <sqlpp11/serializer.h>
|
|
||||||
|
|
||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user