Show
Ignore:
Timestamp:
05/03/06 23:59:15 (4 years ago)
Author:
sky
Message:

r10@crucially-3 (orig r927): btrott | 2005-06-23 15:56:28 -0700
Changed to assume use of SERIAL columns, which auto-generate IDs for us

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/Data/ObjectDriver/Driver/DBI/Pg.pm

    r6 r7  
    2424    my($class) = @_; 
    2525    return join '_', $class->datasource, 'seq'; 
    26 }  
     26} 
    2727 
    28 sub generate_id { 
     28sub fetch_id { 
    2929    my $driver = shift; 
    30     my($class) = @_; 
    31     my $seq = $driver->sequence_name($class); 
    32     my $dbh = $driver->rw_handle($class->properties->{db}); 
    33     my $sth = $dbh->prepare("SELECT NEXTVAL('$seq')") 
    34         or return $driver->error($dbh->errstr); 
    35     $sth->execute 
    36         or return $driver->error($dbh->errstr); 
    37     $sth->bind_columns(undef, \my($id)); 
    38     $sth->fetch; 
    39     $sth->finish; 
    40     $id; 
     30    my($dbh, $sth) = @_; 
     31    $dbh->last_insert_id(undef, undef, undef, undef, 
     32        { sequence => $driver->sequence_name }); 
    4133} 
    4234