/*
    g++ DatabaseTest.cpp -o ct -lpqxx -lpq
*/

#include <iostream>
#include <pqxx/pqxx>

using namespace std;
using namespace pqxx;

int main(int argc, char** argv) {

    connection conn("dbname=mydatabase user=myuser password=somepassword hostaddr=127.0.0.1 port=5432");

    if (conn.is_open())
        cout << "Connected to database, " << conn.dbname() << "." << endl;

    else {
        cout << "Unable to connect! Exiting." << endl;
        return 0;
    }

    nontransaction trans(conn);
    result res(trans.exec("select * from myschema.sometable"));

    cout << "ID" << "\t" << "Description" << endl;
    cout << "--" << "\t" << "-----------" << endl;
    if (!res.empty()) {
        for (result::const_iterator c = res.begin(); c != res.end(); ++c) {
            cout << c[0].as(string()) << '\t' << c[1].as(string()) << endl;
        }
    }
    else {
        cout << "No data returned from myschema.sometable." << endl;	
    }

    cout << endl << "Completed. Exiting." << endl;
    return 0;    
}
