sequences - Mailing list pgsql-interfaces

From Patrick Welche
Subject sequences
Date
Msg-id E10cvBR-0006Ta-00@quartz.newn.cam.ac.uk
Whole thread Raw
List pgsql-interfaces
After the interesting discussion on what is the safest way to have a unique
"oid"-like value per row, I thought I would have a go, but from libpq++ I
don't seem to be able to read the new sequence value:

Table    = person
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| id                               | int4 not null default nextval('p |     4 |
| surname                          | text not null                    |   var |
| firstname                        | text not null                    |   var |
| email                            | text                             |   var |
| phone                            | text                             |   var |
| rfbdate                          | date                             |     4 |
+----------------------------------+----------------------------------+-------+
Index:    person_id_key

The output from my test program is:

INSERT INTO person (surname,firstname,email,phone) VALUES ('Welche','Patrick','
prlw1',null)
SELECT currval('person_id_seq')    Missing person id

and the relevant bit of code is:
       query<<"INSERT INTO person (surname,firstname,email,phone) VALUES ('"
<<a._surname<<"','"<<a._firstname<<"',"           <<ISNULL(a._email)<<','            <<ISNULL(a._phone)<<')'<<ends;
          s.send_query(query);          query<<"SELECT currval('person_id_seq')"<<ends;       s.send_query(query);
if(s.Tuples()!=1)throw empty_result("Missing person id");       a.id(toid(s.GetValue(0,"currval")));
 

send_query prints the query and does a Exec(query). I suppose I don't
understand the difference between doing things interactively in psql (the
above INSERT and SELECT work then) and calling things from a program. Any
tips?

Cheers,

Patrick


pgsql-interfaces by date:

Previous
From: "Oliver Elphick"
Date:
Subject: Re: [INTERFACES] RPM for PgAccess 0.96
Next
From: JT Kirkpatrick
Date:
Subject: perl / pg / cgi / postgres