0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00

with working tests

This commit is contained in:
Serge Robyns 2017-03-19 18:24:09 +01:00
parent 7b4240e4f4
commit b0a5059b59
7 changed files with 57 additions and 57 deletions

View File

@ -36,20 +36,20 @@ int As(int, char* [])
const auto foo = test::TabFoo{}; const auto foo = test::TabFoo{};
const auto bar = test::TabBar{}; const auto bar = test::TabBar{};
compare(__LINE__, foo.omega.as(cheese), "tab_foo.omega AS cheese"); compare(__LINE__, foo.omega.as(cheese), "\"tab_foo\".\"omega\" AS \"cheese\"");
compare(__LINE__, (foo.omega + 17).as(cheese), "(tab_foo.omega+17) AS cheese"); compare(__LINE__, (foo.omega + 17).as(cheese), "(\"tab_foo\".\"omega\"+17) AS \"cheese\"");
compare(__LINE__, (foo.omega - 17).as(cheese), "(tab_foo.omega-17) AS cheese"); compare(__LINE__, (foo.omega - 17).as(cheese), "(\"tab_foo\".\"omega\"-17) AS \"cheese\"");
compare(__LINE__, (foo.omega - uint32_t(17)).as(cheese), "(tab_foo.omega-17) AS cheese"); compare(__LINE__, (foo.omega - uint32_t(17)).as(cheese), "(\"tab_foo\".\"omega\"-17) AS \"cheese\"");
compare(__LINE__, (foo.omega - bar.alpha).as(cheese), "(tab_foo.omega-tab_bar.alpha) AS cheese"); compare(__LINE__, (foo.omega - bar.alpha).as(cheese), "(\"tab_foo\".\"omega\"-\"tab_bar\".\"alpha\") AS \"cheese\"");
compare(__LINE__, (count(foo.omega) - bar.alpha).as(cheese), "(COUNT(tab_foo.omega)-tab_bar.alpha) AS cheese"); compare(__LINE__, (count(foo.omega) - bar.alpha).as(cheese), "(COUNT(\"tab_foo\".\"omega\")-\"tab_bar\".\"alpha\") AS \"cheese\"");
compare(__LINE__, (count(foo.omega) - uint32_t(17)).as(cheese), "(COUNT(tab_foo.omega)-17) AS cheese"); compare(__LINE__, (count(foo.omega) - uint32_t(17)).as(cheese), "(COUNT(\"tab_foo\".\"omega\")-17) AS \"cheese\"");
// Auto alias // Auto alias
compare(__LINE__, select(max(bar.alpha)), "SELECT MAX(tab_bar.alpha) AS max_"); compare(__LINE__, select(max(bar.alpha)), "SELECT MAX(\"tab_bar\".\"alpha\") AS \"max_\"");
compare(__LINE__, select(max(bar.alpha).as(cheese)), "SELECT MAX(tab_bar.alpha) AS cheese"); compare(__LINE__, select(max(bar.alpha).as(cheese)), "SELECT MAX(\"tab_bar\".\"alpha\") AS \"cheese\"");
compare(__LINE__, select(max(bar.alpha)).from(bar).unconditionally().as(cheese), compare(__LINE__, select(max(bar.alpha)).from(bar).unconditionally().as(cheese),
"(SELECT MAX(tab_bar.alpha) AS max_ FROM tab_bar) AS cheese"); "(SELECT MAX(\"tab_bar\".\"alpha\") AS \"max_\" FROM \"tab_bar\") AS \"cheese\"");
compare(__LINE__, select(max(bar.alpha)).from(bar).unconditionally().as(cheese).max, "cheese.max_"); compare(__LINE__, select(max(bar.alpha)).from(bar).unconditionally().as(cheese).max, "\"cheese\".\"max_\"");
return 0; return 0;
} }

View File

@ -40,15 +40,15 @@ int CustomQuery(int, char* [])
// Unconditionally // Unconditionally
compare(__LINE__, custom_query(sqlpp::select(), select_flags(sqlpp::distinct), select_columns(foo.omega), from(foo), compare(__LINE__, custom_query(sqlpp::select(), select_flags(sqlpp::distinct), select_columns(foo.omega), from(foo),
sqlpp::unconditionally()), sqlpp::unconditionally()),
"SELECT DISTINCT tab_foo.omega FROM tab_foo "); "SELECT DISTINCT \"tab_foo\".\"omega\" FROM \"tab_foo\" ");
// A full select statement made individual clauses // A full select statement made individual clauses
compare(__LINE__, compare(__LINE__,
custom_query(sqlpp::select(), select_flags(sqlpp::distinct), select_columns(foo.omega), custom_query(sqlpp::select(), select_flags(sqlpp::distinct), select_columns(foo.omega),
from(foo.join(bar).on(foo.omega == bar.alpha)), where(bar.alpha > 17), group_by(foo.omega), from(foo.join(bar).on(foo.omega == bar.alpha)), where(bar.alpha > 17), group_by(foo.omega),
having(avg(bar.alpha) > 19), order_by(foo.omega.asc()), sqlpp::limit(10u), sqlpp::offset(100u)), having(avg(bar.alpha) > 19), order_by(foo.omega.asc()), sqlpp::limit(10u), sqlpp::offset(100u)),
"SELECT DISTINCT tab_foo.omega FROM tab_foo INNER JOIN tab_bar ON (tab_foo.omega=tab_bar.alpha) WHERE " "SELECT DISTINCT \"tab_foo\".\"omega\" FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\"=\"tab_bar\".\"alpha\") WHERE "
"(tab_bar.alpha>17) GROUP BY tab_foo.omega HAVING (AVG(tab_bar.alpha)>19) ORDER BY tab_foo.omega ASC " "(\"tab_bar\".\"alpha\">17) GROUP BY \"tab_foo\".\"omega\" HAVING (AVG(\"tab_bar\".\"alpha\")>19) ORDER BY \"tab_foo\".\"omega\" ASC "
"LIMIT 10 OFFSET 100"); "LIMIT 10 OFFSET 100");
// A full select statement made individual clauses // A full select statement made individual clauses
@ -59,9 +59,9 @@ int CustomQuery(int, char* [])
dynamic_group_by(db, foo.omega), dynamic_having(db, avg(bar.alpha) > 19), dynamic_group_by(db, foo.omega), dynamic_having(db, avg(bar.alpha) > 19),
dynamic_order_by(db, foo.omega.asc(), foo.psi.order(sqlpp::sort_type::desc)), dynamic_order_by(db, foo.omega.asc(), foo.psi.order(sqlpp::sort_type::desc)),
sqlpp::dynamic_limit(db), sqlpp::dynamic_offset(db)), sqlpp::dynamic_limit(db), sqlpp::dynamic_offset(db)),
"SELECT DISTINCT tab_foo.omega FROM tab_foo INNER JOIN tab_bar ON (tab_foo.omega=tab_bar.alpha) WHERE " "SELECT DISTINCT \"tab_foo\".\"omega\" FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\"=\"tab_bar\".\"alpha\") WHERE "
"(tab_bar.alpha>17) GROUP BY tab_foo.omega HAVING (AVG(tab_bar.alpha)>19) ORDER BY tab_foo.omega " "(\"tab_bar\".\"alpha\">17) GROUP BY \"tab_foo\".\"omega\" HAVING (AVG(\"tab_bar\".\"alpha\")>19) ORDER BY \"tab_foo\".\"omega\" "
"ASC,tab_foo.psi DESC "); "ASC,\"tab_foo\".\"psi\" DESC ");
// A pragma query for sqlite // A pragma query for sqlite
compare(__LINE__, compare(__LINE__,

View File

@ -41,86 +41,86 @@ int From(int, char* [])
const auto cFoo = foo.as(sqlpp::alias::c); const auto cFoo = foo.as(sqlpp::alias::c);
// Single table // Single table
compare(__LINE__, from(foo), " FROM tab_foo"); compare(__LINE__, from(foo), " FROM \"tab_foo\"");
compare(__LINE__, from(bar), " FROM tab_bar"); compare(__LINE__, from(bar), " FROM \"tab_bar\"");
// Static joins // Static joins
compare(__LINE__, from(foo.cross_join(bar)), " FROM tab_foo CROSS JOIN tab_bar"); compare(__LINE__, from(foo.cross_join(bar)), " FROM \"tab_foo\" CROSS JOIN \"tab_bar\"");
compare(__LINE__, from(foo.join(bar).on(foo.omega > bar.alpha)), compare(__LINE__, from(foo.join(bar).on(foo.omega > bar.alpha)),
" FROM tab_foo INNER JOIN tab_bar ON (tab_foo.omega>tab_bar.alpha)"); " FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\">\"tab_bar\".\"alpha\")");
compare(__LINE__, from(foo.inner_join(bar).on(foo.omega > bar.alpha)), compare(__LINE__, from(foo.inner_join(bar).on(foo.omega > bar.alpha)),
" FROM tab_foo INNER JOIN tab_bar ON (tab_foo.omega>tab_bar.alpha)"); " FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\">\"tab_bar\".\"alpha\")");
compare(__LINE__, from(foo.outer_join(bar).on(foo.omega > bar.alpha)), compare(__LINE__, from(foo.outer_join(bar).on(foo.omega > bar.alpha)),
" FROM tab_foo OUTER JOIN tab_bar ON (tab_foo.omega>tab_bar.alpha)"); " FROM \"tab_foo\" OUTER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\">\"tab_bar\".\"alpha\")");
compare(__LINE__, from(foo.left_outer_join(bar).on(foo.omega > bar.alpha)), compare(__LINE__, from(foo.left_outer_join(bar).on(foo.omega > bar.alpha)),
" FROM tab_foo LEFT OUTER JOIN tab_bar ON (tab_foo.omega>tab_bar.alpha)"); " FROM \"tab_foo\" LEFT OUTER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\">\"tab_bar\".\"alpha\")");
compare(__LINE__, from(foo.right_outer_join(bar).on(foo.omega > bar.alpha)), compare(__LINE__, from(foo.right_outer_join(bar).on(foo.omega > bar.alpha)),
" FROM tab_foo RIGHT OUTER JOIN tab_bar ON (tab_foo.omega>tab_bar.alpha)"); " FROM \"tab_foo\" RIGHT OUTER JOIN \"tab_bar\" ON (\"tab_foo\".\"omega\">\"tab_bar\".\"alpha\")");
compare(__LINE__, from(aFoo.join(bFoo).on(aFoo.omega > bFoo.omega)), compare(__LINE__, from(aFoo.join(bFoo).on(aFoo.omega > bFoo.omega)),
" FROM tab_foo AS a INNER JOIN tab_foo AS b ON (a.omega>b.omega)"); " FROM \"tab_foo\" AS \"a\" INNER JOIN \"tab_foo\" AS \"b\" ON (\"a\".\"omega\">\"b\".\"omega\")");
compare( compare(
__LINE__, from(aFoo.join(bFoo).on(aFoo.omega > bFoo.omega).join(cFoo).on(bFoo.omega > cFoo.omega)), __LINE__, from(aFoo.join(bFoo).on(aFoo.omega > bFoo.omega).join(cFoo).on(bFoo.omega > cFoo.omega)),
" FROM tab_foo AS a INNER JOIN tab_foo AS b ON (a.omega>b.omega) INNER JOIN tab_foo AS c ON (b.omega>c.omega)"); " FROM \"tab_foo\" AS \"a\" INNER JOIN \"tab_foo\" AS \"b\" ON (\"a\".\"omega\">\"b\".\"omega\") INNER JOIN \"tab_foo\" AS \"c\" ON (\"b\".\"omega\">\"c\".\"omega\")");
compare(__LINE__, from(foo.join(bar).unconditionally()), " FROM tab_foo INNER JOIN tab_bar"); compare(__LINE__, from(foo.join(bar).unconditionally()), " FROM \"tab_foo\" INNER JOIN \"tab_bar\"");
// Static joins involving verbatim tables // Static joins involving verbatim tables
compare(__LINE__, from(aFoo.join(sqlpp::verbatim_table("unknown_table")) compare(__LINE__, from(aFoo.join(sqlpp::verbatim_table("unknown_table"))
.on(aFoo.omega > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x"))), .on(aFoo.omega > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x"))),
" FROM tab_foo AS a INNER JOIN unknown_table ON (a.omega>unknown_table.column_x)"); " FROM \"tab_foo\" AS \"a\" INNER JOIN unknown_table ON (\"a\".\"omega\">unknown_table.column_x)");
compare(__LINE__, from(sqlpp::verbatim_table("unknown_table") compare(__LINE__, from(sqlpp::verbatim_table("unknown_table")
.join(aFoo) .join(aFoo)
.on(aFoo.omega > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x"))), .on(aFoo.omega > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x"))),
" FROM unknown_table INNER JOIN tab_foo AS a ON (a.omega>unknown_table.column_x)"); " FROM unknown_table INNER JOIN \"tab_foo\" AS \"a\" ON (\"a\".\"omega\">unknown_table.column_x)");
compare(__LINE__, from(sqlpp::verbatim_table("unknown_table") compare(__LINE__, from(sqlpp::verbatim_table("unknown_table")
.as(sqlpp::alias::a) .as(sqlpp::alias::a)
.join(sqlpp::verbatim_table("another_table")) .join(sqlpp::verbatim_table("another_table"))
.on(sqlpp::verbatim<sqlpp::boolean>("a.column_x>another_table.x"))), .on(sqlpp::verbatim<sqlpp::boolean>("a.column_x>another_table.x"))),
" FROM unknown_table AS a INNER JOIN another_table ON a.column_x>another_table.x"); " FROM unknown_table AS \"a\" INNER JOIN another_table ON a.column_x>another_table.x");
// Dynamic joins // Dynamic joins
const auto df = dynamic_from(db, foo); const auto df = dynamic_from(db, foo);
compare(__LINE__, df, " FROM tab_foo"); compare(__LINE__, df, " FROM \"tab_foo\"");
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_cross_join(bar)); dfa.from.add(dynamic_cross_join(bar));
compare(__LINE__, dfa, " FROM tab_foo CROSS JOIN tab_bar"); compare(__LINE__, dfa, " FROM \"tab_foo\" CROSS JOIN \"tab_bar\"");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_join(bar).on(bar.alpha > foo.omega));
compare(__LINE__, dfa, " FROM tab_foo INNER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega)"); compare(__LINE__, dfa, " FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\")");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_inner_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_inner_join(bar).on(bar.alpha > foo.omega));
compare(__LINE__, dfa, " FROM tab_foo INNER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega)"); compare(__LINE__, dfa, " FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\")");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_outer_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_outer_join(bar).on(bar.alpha > foo.omega));
compare(__LINE__, dfa, " FROM tab_foo OUTER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega)"); compare(__LINE__, dfa, " FROM \"tab_foo\" OUTER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\")");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_left_outer_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_left_outer_join(bar).on(bar.alpha > foo.omega));
compare(__LINE__, dfa, " FROM tab_foo LEFT OUTER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega)"); compare(__LINE__, dfa, " FROM \"tab_foo\" LEFT OUTER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\")");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_right_outer_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_right_outer_join(bar).on(bar.alpha > foo.omega));
compare(__LINE__, dfa, " FROM tab_foo RIGHT OUTER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega)"); compare(__LINE__, dfa, " FROM \"tab_foo\" RIGHT OUTER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\")");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_join(bar).unconditionally()); dfa.from.add(dynamic_join(bar).unconditionally());
compare(__LINE__, dfa, " FROM tab_foo INNER JOIN tab_bar"); compare(__LINE__, dfa, " FROM \"tab_foo\" INNER JOIN \"tab_bar\"");
} }
{ {
auto dfa = df; auto dfa = df;
dfa.from.add(dynamic_inner_join(bar).on(bar.alpha > foo.omega)); dfa.from.add(dynamic_inner_join(bar).on(bar.alpha > foo.omega));
dfa.from.add(dynamic_outer_join(aFoo).on(without_table_check(bar.alpha > aFoo.omega))); dfa.from.add(dynamic_outer_join(aFoo).on(without_table_check(bar.alpha > aFoo.omega)));
compare(__LINE__, dfa, " FROM tab_foo INNER JOIN tab_bar ON (tab_bar.alpha>tab_foo.omega) OUTER JOIN tab_foo AS a " compare(__LINE__, dfa, " FROM \"tab_foo\" INNER JOIN \"tab_bar\" ON (\"tab_bar\".\"alpha\">\"tab_foo\".\"omega\") OUTER JOIN \"tab_foo\" AS \"a\" "
"ON (tab_bar.alpha>a.omega)"); "ON (\"tab_bar\".\"alpha\">\"a\".\"omega\")");
} }
// Dynamic joins involving verbatim table // Dynamic joins involving verbatim table
@ -129,7 +129,7 @@ int From(int, char* [])
dfa.from.add( dfa.from.add(
dynamic_inner_join(sqlpp::verbatim_table("unknown_table")) dynamic_inner_join(sqlpp::verbatim_table("unknown_table"))
.on(without_table_check(bar.alpha > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x")))); .on(without_table_check(bar.alpha > sqlpp::verbatim<sqlpp::floating_point>("unknown_table.column_x"))));
compare(__LINE__, dfa, " FROM tab_foo INNER JOIN unknown_table ON (tab_bar.alpha>unknown_table.column_x)"); compare(__LINE__, dfa, " FROM \"tab_foo\" INNER JOIN unknown_table ON (\"tab_bar\".\"alpha\">unknown_table.column_x)");
} }
return 0; return 0;

View File

@ -44,17 +44,17 @@ int In(int, char* [])
const auto bar = test::TabBar{}; const auto bar = test::TabBar{};
// Individual values // Individual values
compare(__LINE__, foo.omega.in(17), "tab_foo.omega IN(17)"); compare(__LINE__, foo.omega.in(17), "\"tab_foo\".\"omega\" IN(17)");
compare(__LINE__, foo.omega.in(17, bar.alpha), "tab_foo.omega IN(17,tab_bar.alpha)"); compare(__LINE__, foo.omega.in(17, bar.alpha), "\"tab_foo\".\"omega\" IN(17,\"tab_bar\".\"alpha\")");
compare(__LINE__, foo.omega.in(17, bar.alpha, sqlpp::value(19)), "tab_foo.omega IN(17,tab_bar.alpha,19)"); compare(__LINE__, foo.omega.in(17, bar.alpha, sqlpp::value(19)), "\"tab_foo\".\"omega\" IN(17,\"tab_bar\".\"alpha\",19)");
// Lists // Lists
compare(__LINE__, foo.omega.in(sqlpp::value_list(std::vector<float>{1.7f, 2.5f, 17.f, 0.f})), compare(__LINE__, foo.omega.in(sqlpp::value_list(std::vector<float>{1.7f, 2.5f, 17.f, 0.f})),
"tab_foo.omega IN(1.7,2.5,17,0)"); "\"tab_foo\".\"omega\" IN(1.7,2.5,17,0)");
// Sub select // Sub select
compare(__LINE__, foo.omega.in(select(bar.alpha).from(bar).unconditionally()), compare(__LINE__, foo.omega.in(select(bar.alpha).from(bar).unconditionally()),
"tab_foo.omega IN(SELECT tab_bar.alpha FROM tab_bar)"); "\"tab_foo\".\"omega\" IN(SELECT \"tab_bar\".\"alpha\" FROM \"tab_bar\")");
// Empty lists (not normally covered by SQL) // Empty lists (not normally covered by SQL)
compare(__LINE__, foo.omega.in(), getFalse()); compare(__LINE__, foo.omega.in(), getFalse());

View File

@ -42,9 +42,9 @@ int Insert(int, char* [])
{ {
const auto bar = test::TabBar{}; const auto bar = test::TabBar{};
compare(__LINE__, insert_into(bar).default_values(), "INSERT INTO tab_bar DEFAULT VALUES"); compare(__LINE__, insert_into(bar).default_values(), "INSERT INTO \"tab_bar\" DEFAULT VALUES");
compare(__LINE__, insert_into(bar).set(bar.beta = "cheesecake", bar.gamma = true), compare(__LINE__, insert_into(bar).set(bar.beta = "cheesecake", bar.gamma = true),
"INSERT INTO tab_bar (beta,gamma) VALUES('cheesecake'," + getTrue() + ")"); "INSERT INTO \"tab_bar\" (\"beta\",\"gamma\") VALUES('cheesecake'," + getTrue() + ")");
return 0; return 0;
} }

View File

@ -35,9 +35,9 @@ int TableAlias(int, char* [])
const auto bar = test::TabBar{}; const auto bar = test::TabBar{};
// Individual values // Individual values
compare(__LINE__, foo.as(bar), "tab_foo AS tab_bar"); compare(__LINE__, foo.as(bar), "\"tab_foo\" AS \"tab_bar\"");
compare(__LINE__, select(foo.omega).from(foo).unconditionally().as(bar), compare(__LINE__, select(foo.omega).from(foo).unconditionally().as(bar),
"(SELECT tab_foo.omega FROM tab_foo) AS tab_bar"); "(SELECT \"tab_foo\".\"omega\" FROM \"tab_foo\") AS \"tab_bar\"");
return 0; return 0;
} }

View File

@ -50,18 +50,18 @@ int Where(int, char* [])
const auto bar = test::TabBar{}; const auto bar = test::TabBar{};
// Unconditionally // Unconditionally
compare(__LINE__, select(foo.omega).from(foo).unconditionally(), "SELECT tab_foo.omega FROM tab_foo"); compare(__LINE__, select(foo.omega).from(foo).unconditionally(), "SELECT \"tab_foo\".\"omega\" FROM \"tab_foo\"");
compare(__LINE__, remove_from(foo).unconditionally(), "DELETE FROM tab_foo"); compare(__LINE__, remove_from(foo).unconditionally(), "DELETE FROM \"tab_foo\"");
compare(__LINE__, update(foo).set(foo.omega = 42).unconditionally(), "UPDATE tab_foo SET omega=42"); compare(__LINE__, update(foo).set(foo.omega = 42).unconditionally(), "UPDATE \"tab_foo\" SET \"omega\"=42");
compare(__LINE__, where(sqlpp::value(true)), " WHERE " + getTrue()); compare(__LINE__, where(sqlpp::value(true)), " WHERE " + getTrue());
// Never // Never
compare(__LINE__, where(sqlpp::value(false)), " WHERE " + getFalse()); compare(__LINE__, where(sqlpp::value(false)), " WHERE " + getFalse());
// Sometimes // Sometimes
compare(__LINE__, where(bar.gamma), " WHERE tab_bar.gamma"); compare(__LINE__, where(bar.gamma), " WHERE \"tab_bar\".\"gamma\"");
compare(__LINE__, where(bar.gamma == false), " WHERE (tab_bar.gamma=" + getFalse() + ")"); compare(__LINE__, where(bar.gamma == false), " WHERE (\"tab_bar\".\"gamma\"=" + getFalse() + ")");
compare(__LINE__, where(bar.beta == "SQL"), " WHERE (tab_bar.beta='SQL')"); compare(__LINE__, where(bar.beta == "SQL"), " WHERE (\"tab_bar\".\"beta\"='SQL')");
return 0; return 0;
} }