0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 04:47:18 +08:00

Merge tag '0.35' into develop

Compiles with MSVC 2015 Update 1
Compiles with Xcode 7
Supports date and datetime data types
Supports case when then else
Supports empty in()
Detect non-aggregate columns in case of group by
Lots of small fixes
This commit is contained in:
rbock 2015-12-29 11:06:55 +01:00
commit f4ad35b5b6
46 changed files with 117 additions and 165 deletions

View File

@ -44,13 +44,7 @@ This results in several benefits, e.g.
The library supports both static and dynamic queries. The former offers greater benefit in terms of type and consistency checking. The latter makes it easier to construct queries on the flight. The library supports both static and dynamic queries. The former offers greater benefit in terms of type and consistency checking. The latter makes it easier to construct queries on the flight.
sqlpp11 is vendor-neutral. Specific traits of databases (e.g. unsupported or non-standard features) are are handled by connector libraries. Connector libraries can inform the developer of missing features at compile time. They also interpret expressions specifically where needed. For example, the connector could use the operator|| or the concat method for string concatenation without the developer being required to change the statement. sqlpp11 is vendor-neutral. Specific traits of databases (e.g. unsupported or non-standard features) are handled by connector libraries. Connector libraries can inform the developer of missing features at compile time. They also interpret expressions specifically where needed. For example, the connector could use the operator|| or the concat method for string concatenation without the developer being required to change the statement.
Your help is needed:
--------------------
The library is already used in production but it is certainly not complete yet. Feature requests, bug reports, contributions to code or documentation are most welcome.
Examples: Examples:
--------- ---------
@ -108,6 +102,11 @@ db(update(foo).set(foo.hasFun = not foo.hasFun).where(foo.name != "nobody"));
db(remove_from(foo).where(not foo.hasFun)); db(remove_from(foo).where(not foo.hasFun));
``` ```
Your help is needed:
--------------------
The library is already used in production but it is certainly not complete yet. Feature requests, bug reports, contributions to code or documentation are most welcome.
Requirements: Requirements:
------------- -------------
__Compiler:__ __Compiler:__

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__auto_increment_h #ifndef _sqlpp__ppgen__colops__auto_increment_h
#define _sqlpp__ppgen__colops__auto_increment_h #define _sqlpp__ppgen__colops__auto_increment_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_AUTO_INCREMENT \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_AUTO_INCREMENT PROC_SQLPP_AUTO_INCREMENT
PROC_SQLPP_AUTO_INCREMENT #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_AUTO_INCREMENT(...) ::sqlpp::tag::must_not_update
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_AUTO_INCREMENT(...) \
::sqlpp::tag::must_not_update
#endif // _sqlpp__ppgen__colops__auto_increment_h #endif // _sqlpp__ppgen__colops__auto_increment_h

View File

@ -27,24 +27,16 @@
#ifndef _sqlpp__ppgen__colops__blob_h #ifndef _sqlpp__ppgen__colops__blob_h
#define _sqlpp__ppgen__colops__blob_h #define _sqlpp__ppgen__colops__blob_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyblob PROC_tinyblob
PROC_tinyblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyblob(...) ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyblob(...) \
::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_blob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_blob PROC_blob
PROC_blob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_blob(...) ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_blob(...) \
::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_mediumblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_mediumblob PROC_mediumblob
PROC_mediumblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_mediumblob(...) ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_mediumblob(...) \
::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_longblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_longblob PROC_longblob
PROC_longblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_longblob(...) ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_longblob(...) \
::sqlpp::blob
#endif // _sqlpp__ppgen__colops__blob_h #endif // _sqlpp__ppgen__colops__blob_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__bool_h #ifndef _sqlpp__ppgen__colops__bool_h
#define _sqlpp__ppgen__colops__bool_h #define _sqlpp__ppgen__colops__bool_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bool \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bool PROC_bool
PROC_bool #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bool(...) ::sqlpp::boolean
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bool(...) \
::sqlpp::boolean
#endif // _sqlpp__ppgen__colops__bool_h #endif // _sqlpp__ppgen__colops__bool_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__comment_h #ifndef _sqlpp__ppgen__colops__comment_h
#define _sqlpp__ppgen__colops__comment_h #define _sqlpp__ppgen__colops__comment_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_COMMENT \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_COMMENT PROC_SQLPP_COMMENT
PROC_SQLPP_COMMENT #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_COMMENT(str) [COMMENT is not implemented]
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \
[COMMENT is not implemented]
#endif // _sqlpp__ppgen__colops__comment_h #endif // _sqlpp__ppgen__colops__comment_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__default_h #ifndef _sqlpp__ppgen__colops__default_h
#define _sqlpp__ppgen__colops__default_h #define _sqlpp__ppgen__colops__default_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_DEFAULT \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_DEFAULT PROC_SQLPP_DEFAULT
PROC_SQLPP_DEFAULT #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) [DEFAULT is not implemented]
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \
[DEFAULT is not implemented]
#endif // _sqlpp__ppgen__colops__default_h #endif // _sqlpp__ppgen__colops__default_h

View File

@ -27,14 +27,10 @@
#ifndef _sqlpp__ppgen__colops__floating_point_h #ifndef _sqlpp__ppgen__colops__floating_point_h
#define _sqlpp__ppgen__colops__floating_point_h #define _sqlpp__ppgen__colops__floating_point_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_float \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_float PROC_float
PROC_float #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_float(...) ::sqlpp::floating_point
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_float(...) \
::sqlpp::floating_point
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_double \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_double PROC_double
PROC_double #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_double(...) ::sqlpp::floating_point
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_double(...) \
::sqlpp::floating_point
#endif // _sqlpp__ppgen__colops__floating_point_h #endif // _sqlpp__ppgen__colops__floating_point_h

View File

@ -27,8 +27,7 @@
#ifndef _sqlpp__ppgen__colops__foreign_key_h #ifndef _sqlpp__ppgen__colops__foreign_key_h
#define _sqlpp__ppgen__colops__foreign_key_h #define _sqlpp__ppgen__colops__foreign_key_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_FOREIGN_KEY \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_FOREIGN_KEY PROC_SQLPP_FOREIGN_KEY
PROC_SQLPP_FOREIGN_KEY
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_FOREIGN_KEY(keyname, tblname, colname) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_FOREIGN_KEY(keyname, tblname, colname) \
[FOREIGN KEY is not implemented] [FOREIGN KEY is not implemented]

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__index_h #ifndef _sqlpp__ppgen__colops__index_h
#define _sqlpp__ppgen__colops__index_h #define _sqlpp__ppgen__colops__index_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_INDEX \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_INDEX PROC_SQLPP_INDEX
PROC_SQLPP_INDEX #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(indexname, tblname, /* cols */...) [INDEX is not implemented]
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(indexname, tblname, /* cols */ ...) \
[INDEX is not implemented]
#endif // _sqlpp__ppgen__colops__index_h #endif // _sqlpp__ppgen__colops__index_h

View File

@ -27,24 +27,16 @@
#ifndef _sqlpp__ppgen__colops__integer_h #ifndef _sqlpp__ppgen__colops__integer_h
#define _sqlpp__ppgen__colops__integer_h #define _sqlpp__ppgen__colops__integer_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyint PROC_tinyint
PROC_tinyint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyint(...) ::sqlpp::tinyint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyint(...) \
::sqlpp::tinyint
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_smallint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_smallint PROC_smallint
PROC_smallint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_smallint(...) ::sqlpp::smallint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_smallint(...) \
::sqlpp::smallint
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_int \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_int PROC_int
PROC_int #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_int(...) ::sqlpp::integer
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_int(...) \
::sqlpp::integer
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bigint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bigint PROC_bigint
PROC_bigint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bigint(...) ::sqlpp::bigint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bigint(...) \
::sqlpp::bigint
#endif // _sqlpp__ppgen__colops__integer_h #endif // _sqlpp__ppgen__colops__integer_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__not_null_h #ifndef _sqlpp__ppgen__colops__not_null_h
#define _sqlpp__ppgen__colops__not_null_h #define _sqlpp__ppgen__colops__not_null_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NOT_NULL \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NOT_NULL PROC_SQLPP_NOT_NULL
PROC_SQLPP_NOT_NULL #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NOT_NULL(...) ::sqlpp::tag::require_insert
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NOT_NULL(...) \
::sqlpp::tag::require_insert
#endif // _sqlpp__ppgen__colops__not_null_h #endif // _sqlpp__ppgen__colops__not_null_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__null_h #ifndef _sqlpp__ppgen__colops__null_h
#define _sqlpp__ppgen__colops__null_h #define _sqlpp__ppgen__colops__null_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NULL \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NULL PROC_SQLPP_NULL
PROC_SQLPP_NULL #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NULL(...) ::sqlpp::tag::can_be_null
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NULL(...) \
::sqlpp::tag::can_be_null
#endif // _sqlpp__ppgen__colops__null_h #endif // _sqlpp__ppgen__colops__null_h

View File

@ -27,8 +27,7 @@
#ifndef _sqlpp__ppgen__colops__primary_key_h #ifndef _sqlpp__ppgen__colops__primary_key_h
#define _sqlpp__ppgen__colops__primary_key_h #define _sqlpp__ppgen__colops__primary_key_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_PRIMARY_KEY \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_PRIMARY_KEY PROC_SQLPP_PRIMARY_KEY
PROC_SQLPP_PRIMARY_KEY
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_PRIMARY_KEY(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_PRIMARY_KEY(...) \
::sqlpp::tag::must_not_insert, ::sqlpp::tag::must_not_update ::sqlpp::tag::must_not_insert, ::sqlpp::tag::must_not_update

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__text_h #ifndef _sqlpp__ppgen__colops__text_h
#define _sqlpp__ppgen__colops__text_h #define _sqlpp__ppgen__colops__text_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_text \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_text PROC_text
PROC_text #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_text(...) ::sqlpp::text
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_text(...) \
::sqlpp::text
#endif // _sqlpp__ppgen__colops__text_h #endif // _sqlpp__ppgen__colops__text_h

View File

@ -27,8 +27,7 @@
#ifndef _sqlpp__ppgen__colops__unique_index_h #ifndef _sqlpp__ppgen__colops__unique_index_h
#define _sqlpp__ppgen__colops__unique_index_h #define _sqlpp__ppgen__colops__unique_index_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE_INDEX \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE_INDEX PROC_SQLPP_UNIQUE_INDEX
PROC_SQLPP_UNIQUE_INDEX
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE_INDEX(indexname, tblname, /* cols */...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE_INDEX(indexname, tblname, /* cols */...) \
[UNIQUE INDEX is not implemented] [UNIQUE INDEX is not implemented]

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__colops__varchar_h #ifndef _sqlpp__ppgen__colops__varchar_h
#define _sqlpp__ppgen__colops__varchar_h #define _sqlpp__ppgen__colops__varchar_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) PROC_varchar
PROC_varchar #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) ::sqlpp::varchar
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) \
::sqlpp::varchar
#endif // _sqlpp__ppgen__colops__varchar_h #endif // _sqlpp__ppgen__colops__varchar_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__character_set_h #ifndef _sqlpp__ppgen__tblops__character_set_h
#define _sqlpp__ppgen__tblops__character_set_h #define _sqlpp__ppgen__tblops__character_set_h
#define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_CHARACTER_SET \ #define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_CHARACTER_SET PROC_SQLPP_CHARACTER_SET
PROC_SQLPP_CHARACTER_SET #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_CHARACTER_SET(str) [CHARACTER_SET is not implemented]
#define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_CHARACTER_SET(str) \
[CHARACTER_SET is not implemented]
#endif // _sqlpp__ppgen__tblops__character_set_h #endif // _sqlpp__ppgen__tblops__character_set_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__comment_h #ifndef _sqlpp__ppgen__tblops__comment_h
#define _sqlpp__ppgen__tblops__comment_h #define _sqlpp__ppgen__tblops__comment_h
#define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_COMMENT \ #define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_COMMENT PROC_SQLPP_COMMENT
PROC_SQLPP_COMMENT #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_COMMENT(str) [COMMENT is not implemented]
#define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \
[COMMENT is not implemented]
#endif // _sqlpp__ppgen__tblops__comment_h #endif // _sqlpp__ppgen__tblops__comment_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__default_h #ifndef _sqlpp__ppgen__tblops__default_h
#define _sqlpp__ppgen__tblops__default_h #define _sqlpp__ppgen__tblops__default_h
#define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_DEFAULT \ #define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_DEFAULT PROC_SQLPP_DEFAULT
PROC_SQLPP_DEFAULT #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) [DEFAULT is not implemented]
#define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \
[DEFAULT is not implemented]
#endif // _sqlpp__ppgen__tblops__default_h #endif // _sqlpp__ppgen__tblops__default_h

View File

@ -27,9 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__engine_h #ifndef _sqlpp__ppgen__tblops__engine_h
#define _sqlpp__ppgen__tblops__engine_h #define _sqlpp__ppgen__tblops__engine_h
#define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_ENGINE \ #define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_ENGINE PROC_SQLPP_ENGINE
PROC_SQLPP_ENGINE #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_ENGINE(str) [ENGINE is not implemented]
#define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_ENGINE(str) \
[ENGINE is not implemented]
#endif // _sqlpp__ppgen__tblops__engine_h #endif // _sqlpp__ppgen__tblops__engine_h

View File

@ -226,7 +226,8 @@ namespace sqlpp
SQLPP_PORTABLE_STATIC_ASSERT(assert_where_dynamic_statement_dynamic_t, SQLPP_PORTABLE_STATIC_ASSERT(assert_where_dynamic_statement_dynamic_t,
"dynamic_where() must not be called in a static statement"); "dynamic_where() must not be called in a static statement");
// workaround for msvc bugs https://connect.microsoft.com/VisualStudio/Feedback/Details/2086629 & https://connect.microsoft.com/VisualStudio/feedback/details/2173198 // workaround for msvc bugs https://connect.microsoft.com/VisualStudio/Feedback/Details/2086629 &
// https://connect.microsoft.com/VisualStudio/feedback/details/2173198
// template <typename... Expressions> // template <typename... Expressions>
// using check_where_t = static_combined_check_t< // using check_where_t = static_combined_check_t<
// static_check_t<logic::all_t<is_expression_t<Expressions>::value...>::value, assert_where_expressions_t>, // static_check_t<logic::all_t<is_expression_t<Expressions>::value...>::value, assert_where_expressions_t>,
@ -237,7 +238,8 @@ namespace sqlpp
struct check_where struct check_where
{ {
using type = static_combined_check_t< using type = static_combined_check_t<
static_check_t<logic::all_t<detail::is_expression_impl<Expressions>::type::value...>::value, assert_where_expressions_t>, static_check_t<logic::all_t<detail::is_expression_impl<Expressions>::type::value...>::value,
assert_where_expressions_t>,
static_check_t<logic::all_t<is_boolean_t<Expressions>::value...>::value, assert_where_boolean_t>, static_check_t<logic::all_t<is_boolean_t<Expressions>::value...>::value, assert_where_boolean_t>,
static_check_t<logic::all_t<(not detail::contains_aggregate_function_impl<Expressions>::type::value)...>::value, static_check_t<logic::all_t<(not detail::contains_aggregate_function_impl<Expressions>::type::value)...>::value,
assert_where_no_aggregate_functions_t>>; assert_where_no_aggregate_functions_t>>;