mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-16 04:47:18 +08:00
Dynamic select did not accept some non-dynamic clauses.
This commit is contained in:
parent
12eabd28f4
commit
333e55ea6d
@ -224,7 +224,7 @@ namespace sqlpp
|
|||||||
|
|
||||||
template <typename Database, typename... Expressions>
|
template <typename Database, typename... Expressions>
|
||||||
auto _group_by_impl(const std::true_type&, Expressions... expressions) const
|
auto _group_by_impl(const std::true_type&, Expressions... expressions) const
|
||||||
-> _new_statement_t<std::true_type, group_by_t<_database_t, Expressions...>>
|
-> _new_statement_t<std::true_type, group_by_t<Database, Expressions...>>
|
||||||
{
|
{
|
||||||
static_assert(not detail::has_duplicates<Expressions...>::value,
|
static_assert(not detail::has_duplicates<Expressions...>::value,
|
||||||
"at least one duplicate argument detected in group_by()");
|
"at least one duplicate argument detected in group_by()");
|
||||||
|
@ -222,7 +222,7 @@ namespace sqlpp
|
|||||||
-> _new_statement_t<std::true_type, having_t<Database, Expressions...>>
|
-> _new_statement_t<std::true_type, having_t<Database, Expressions...>>
|
||||||
{
|
{
|
||||||
return {static_cast<const derived_statement_t<Policies>&>(*this),
|
return {static_cast<const derived_statement_t<Policies>&>(*this),
|
||||||
having_data_t<_database_t, Expressions...>{expressions...}};
|
having_data_t<Database, Expressions...>{expressions...}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -221,7 +221,7 @@ namespace sqlpp
|
|||||||
|
|
||||||
template <typename Database, typename... Expressions>
|
template <typename Database, typename... Expressions>
|
||||||
auto _order_by_impl(const std::true_type&, Expressions... expressions) const
|
auto _order_by_impl(const std::true_type&, Expressions... expressions) const
|
||||||
-> _new_statement_t<std::true_type, order_by_t<_database_t, Expressions...>>
|
-> _new_statement_t<std::true_type, order_by_t<Database, Expressions...>>
|
||||||
{
|
{
|
||||||
static_assert(not detail::has_duplicates<Expressions...>::value,
|
static_assert(not detail::has_duplicates<Expressions...>::value,
|
||||||
"at least one duplicate argument detected in order_by()");
|
"at least one duplicate argument detected in order_by()");
|
||||||
|
@ -217,7 +217,7 @@ namespace sqlpp
|
|||||||
-> _new_statement_t<std::true_type, union_t<Database, Flag, derived_statement_t<Policies>, Rhs>>
|
-> _new_statement_t<std::true_type, union_t<Database, Flag, derived_statement_t<Policies>, Rhs>>
|
||||||
{
|
{
|
||||||
return {blank_union_t{},
|
return {blank_union_t{},
|
||||||
union_data_t<_database_t, Flag, derived_statement_t<Policies>, Rhs>{
|
union_data_t<Database, Flag, derived_statement_t<Policies>, Rhs>{
|
||||||
static_cast<const derived_statement_t<Policies>&>(*this), rhs}};
|
static_cast<const derived_statement_t<Policies>&>(*this), rhs}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -293,7 +293,7 @@ namespace sqlpp
|
|||||||
-> _new_statement_t<std::true_type, where_t<Database, Expressions...>>
|
-> _new_statement_t<std::true_type, where_t<Database, Expressions...>>
|
||||||
{
|
{
|
||||||
return {static_cast<const derived_statement_t<Policies>&>(*this),
|
return {static_cast<const derived_statement_t<Policies>&>(*this),
|
||||||
where_data_t<_database_t, Expressions...>{expressions...}};
|
where_data_t<Database, Expressions...>{expressions...}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -115,6 +115,23 @@ int Select(int, char**)
|
|||||||
.having(t.gamma)
|
.having(t.gamma)
|
||||||
.limit(7)
|
.limit(7)
|
||||||
.offset(19);
|
.offset(19);
|
||||||
|
printer.reset();
|
||||||
|
std::cerr << serialize(stat, printer).str() << std::endl;
|
||||||
|
|
||||||
|
auto s0 = dynamic_select(db)
|
||||||
|
.columns(all_of(t))
|
||||||
|
.flags(sqlpp::all)
|
||||||
|
.from(t)
|
||||||
|
.extra_tables(f, t)
|
||||||
|
.where(t.alpha > 0)
|
||||||
|
.group_by(t.alpha)
|
||||||
|
.order_by(t.gamma.asc())
|
||||||
|
.having(t.gamma)
|
||||||
|
.limit(7)
|
||||||
|
.offset(19);
|
||||||
|
|
||||||
|
printer.reset();
|
||||||
|
std::cerr << serialize(s0, printer).str() << std::endl;
|
||||||
|
|
||||||
auto s = dynamic_select(db)
|
auto s = dynamic_select(db)
|
||||||
.dynamic_columns(all_of(t))
|
.dynamic_columns(all_of(t))
|
||||||
@ -144,8 +161,6 @@ int Select(int, char**)
|
|||||||
|
|
||||||
printer.reset();
|
printer.reset();
|
||||||
std::cerr << serialize(s, printer).str() << std::endl;
|
std::cerr << serialize(s, printer).str() << std::endl;
|
||||||
printer.reset();
|
|
||||||
std::cerr << serialize(stat, printer).str() << std::endl;
|
|
||||||
|
|
||||||
select(sqlpp::value(7).as(t.alpha));
|
select(sqlpp::value(7).as(t.alpha));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user