On Sat, Oct 14, 2006 at 07:53:44AM -0400, Vivek Khera wrote: > > On Oct 13, 2006, at 6:48 PM, Joby Walker wrote: > > >OIDs were used to get the id of the last insert. The was abandoned > >because of pgsql 8.1, but it was a horrible way to get the last id > >anyway. Current versions of SB insert the row and then get the > >current value of the sequence associated with that table. This is > >much faster and *should* be safe. > > Does it actually query the sequence or does it just pull the last > insert id from the connection's return status? if the former, then > it is not multi-thread safe, if the latter then it is faster than > your method of pulling a sequence then doing insert (one trip to DB > vs. two). my $sequence_name = $self->IdSequenceName($table); unless ($sequence_name) { return ($sequence_name) } # Class::ReturnValue my $seqsth = $self->dbh->prepare( qq{SELECT CURRVAL('} . $sequence_name . qq{')} ); $seqsth->execute; $self->{'id'} = $seqsth->fetchrow_array(); A dozen people assured me that this was considered the postgres-blessed way to do this these days. Is it not? > _______________________________________________ > http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users > > Community help: http://wiki.bestpractical.com > Commercial support: [EMAIL PROTECTED] > > > Discover RT's hidden secrets with RT Essentials from O'Reilly Media. > Buy a copy at http://rtbook.bestpractical.com -- _______________________________________________ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com