#include <pqxx/pqxx>
namespace {
class __sql_QueryProvider0 {
   pqxx::result result;
   public: __sql_QueryProvider0(pqxx::work& work) : result(work.exec("select n_nationkey as id,n_name from nation")) {}
   struct const_iterator;
   struct __sql_proxy {
      private: friend struct const_iterator;
      pqxx::result::const_iterator __sql_iterator;
      __sql_proxy(pqxx::result::const_iterator iter) : __sql_iterator(iter) {}
      public:
      int id() const { return (*__sql_iterator)[0].as<int>(); }
      bool id_isnull() const { return (*__sql_iterator)[0].is_null(); }
      std::string n_name() const { return (*__sql_iterator)[1].as<std::string>(); }
      bool n_name_isnull() const { return (*__sql_iterator)[1].is_null(); }
   };
   struct const_iterator {
      pqxx::result::const_iterator iter;
      const_iterator(pqxx::result::const_iterator iter) : iter(iter) {}
      __sql_proxy operator*() const { return __sql_proxy(iter); }
      bool operator==(const const_iterator& o) const { return iter==o.iter; }
      bool operator!=(const const_iterator& o) const { return iter!=o.iter; }
      const_iterator& operator++() { ++iter; return *this; }
   };
   const_iterator begin() const { return const_iterator(result.begin()); }
   const_iterator end() const { return const_iterator(result.end()); }
};
}
#line 1 "test.cpp"
#include <iostream>
#include <pqxx/pqxx>

using namespace std;

int main()
{
   try {
      pqxx::connection conn("host=localhost port=7483 dbname=tpch");
      pqxx::work work(conn);
      for (auto t:__sql_QueryProvider0(work))
         cout << t.id() << " " << t.n_name() << endl;
   } catch (const pqxx::pqxx_exception& e) {
      cerr << e.base().what() << endl;
      return 1;
   }
}

