Esempio n. 1
0
int main()
{
	test::TabBar t;

	auto x = t.alpha = 7;
	auto y = t.beta = "kaesekuchen";
	auto z = t.gamma = true;

	{
		using T = decltype(remove_from(t));
		static_assert(sqlpp::is_regular<T>::value, "type requirement");
	}

	{
		using T = decltype(remove_from(t).where(t.beta != "transparent"));
		static_assert(sqlpp::is_regular<T>::value, "type requirement");
	}

	{
		using T = decltype(dynamic_remove_from(db, t).dynamic_using_().dynamic_where());
		static_assert(sqlpp::is_regular<T>::value, "type requirement");
	}

	interpret(remove_from(t), printer).flush();
	interpret(remove_from(t).where(t.beta != "transparent"), printer).flush();
	interpret(remove_from(t).using_(t), printer).flush();
	auto r = dynamic_remove_from(db, t).dynamic_using_().dynamic_where();
	r = r.add_using_(t);
	r = r.add_where(t.beta != "transparent");
	interpret(r, printer).flush();

	return 0;
}
Esempio n. 2
0
int Remove(int, char* [])
{
  MockDb db = {};
  MockDb::_serializer_context_t printer = {};

  const auto t = test::TabBar{};
  const auto f = test::TabFoo{};

  {
    using T = decltype(remove_from(t));
    static_assert(sqlpp::is_regular<T>::value, "type requirement");
  }

  {
    using T = decltype(remove_from(t).where(t.beta != "transparent"));
    static_assert(sqlpp::is_regular<T>::value, "type requirement");
  }

  {
    using T = decltype(dynamic_remove_from(db, t).dynamic_using().dynamic_where());
    static_assert(sqlpp::is_regular<T>::value, "type requirement");
  }

  serialize(remove_from(t), printer).str();
  serialize(remove_from(t).where(t.beta != "transparent"), printer).str();
  serialize(remove_from(t).using_(t), printer).str();
  serialize(remove_from(t).using_(f), printer).str();
  auto r = dynamic_remove_from(db, t).dynamic_using().dynamic_where();
  r.using_.add(t);
  r.where.add(t.beta != "transparent");
  printer.reset();
  std::cerr << serialize(r, printer).str() << std::endl;
  printer.reset();
  std::cerr << serialize(remove_from(t).unconditionally(), printer).str() << std::endl;

  db(r);

  return 0;
}