mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-15 20:31:16 +08:00
Fixed a error in type set intersect calculation and in tracking outer tables
This commit is contained in:
parent
159b4c7152
commit
4be53d9933
@ -221,7 +221,7 @@ namespace sqlpp
|
||||
struct make_intersect_set<type_set<LhsElements...>, type_set<RhsElements...>>
|
||||
{
|
||||
template<typename E>
|
||||
using is_in_both = is_element_of<E, make_type_set_t<LhsElements..., RhsElements...>>;
|
||||
using is_in_both = all_t<is_element_of<E, type_set<LhsElements...>>::value, is_element_of<E, type_set<RhsElements...>>::value>;
|
||||
using type = typename make_type_set_if<is_in_both, LhsElements...>::type;
|
||||
};
|
||||
|
||||
|
@ -50,14 +50,14 @@ namespace sqlpp
|
||||
struct left_outer_join_t
|
||||
{
|
||||
template<typename Lhs, typename Rhs>
|
||||
using _provided_outer_tables = detail::make_joined_set_t<provided_outer_tables_of<Lhs>, provided_tables_of<Rhs>>;
|
||||
using _provided_outer_tables = detail::make_joined_set_t<provided_tables_of<Lhs>, provided_outer_tables_of<Rhs>>;
|
||||
|
||||
static constexpr const char* _name = " LEFT OUTER ";
|
||||
};
|
||||
struct right_outer_join_t
|
||||
{
|
||||
template<typename Lhs, typename Rhs>
|
||||
using _provided_outer_tables = detail::make_joined_set_t<provided_tables_of<Lhs>, provided_outer_tables_of<Rhs>>;
|
||||
using _provided_outer_tables = detail::make_joined_set_t<provided_outer_tables_of<Lhs>, provided_tables_of<Rhs>>;
|
||||
|
||||
static constexpr const char* _name = " RIGHT OUTER ";
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user