Hi,
I am trying to convince my boss to allow me to user postgres and pqxx on linux as the platform for creating a new application for the health industry. In doing this I am exploring the libpqxx library and have come to a stumbling block that I think is just my understanding of the library. I will list the scene below: I am currently trying to change the value of an inout parameter inside a function and read its changed value but am having trouble. I was wondering whether you could look at my code and help me out? The problem is that the value never changes. I have listed the function code below as well as the libqxx c++ source. Stephen Cossgrove Here is the postgres function: CREATE OR REPLACE FUNCTION public.insert_gperson ( INOUT id integer ) AS $$ begin /* Get the Next Person ID */ id = nextval('"testing_seq"'::regclass); /* Insert the record */ insert into "GPerson" ( "GPersonID", "DOB" ) values ( id, Now()); end $$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; Here is the c++ source code: // Create the SQL Query // string query = "exec insert_gperson($1)"; string query = "select insert_gperson($1)"; string queryname = "insert_gperson"; // Prepare the differing parameters // Prepare the statement C.prepare(queryname, query) ("integer", pqxx::prepare::treat_direct); // Create a new Transaction cout << "Creating Query...\n"; work *t; t = new work(C, queryname); // create the return id; int id = 0; // Set the prepare statement cout << "Preparing statement....\n"; t->prepared(queryname)(id).exec(); // Commit the transaction cout << "Commiting .... \n"; t->commit(); // Delete the transaction delete t; // Unprepare the Command C.unprepare(queryname); // debug the new gperson id cout << "New GPersonID = [" << id << "]\n";
_______________________________________________ Libpqxx-general mailing list Libpqxx-general@gborg.postgresql.org http://gborg.postgresql.org/mailman/listinfo/libpqxx-general