/[cvs]/nfo/perl/libs/Tangram/Storage.pm
ViewVC logotype

Diff of /nfo/perl/libs/Tangram/Storage.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by joko, Mon Dec 16 20:41:51 2002 UTC revision 1.8 by joko, Wed Apr 23 23:40:58 2003 UTC
# Line 253  sub make_guid Line 253  sub make_guid
253    {    {
254      my $self = shift;      my $self = shift;
255    
256      eval ("use Data::UUID;");      my $guid;
257      return if $@;  
258      my $ug = Data::UUID->new();      # try to use Data::UUID first ...
259      my $guid = $ug->create_str();      eval("use Data::UUID;");
260        if (!$@) {
261          my $ug = Data::UUID->new();
262          $guid = $ug->create_str();
263          
264        # ... if this fails, try to fallback to Data::UUID::PurePerl instead ...
265        } else {
266          eval("use Data::UUID::PurePerl;");
267          if (!$@) {
268            $guid = Data::UUID::PurePerl::generate_id();
269          } else {
270            croak "couldn't create globally unique identifier";
271          }
272        }
273            
274      return $guid;      return $guid;
275    }    }
# Line 692  sub load Line 705  sub load
705          my $row = _fetch_object_state($self, $id, $class);          my $row = _fetch_object_state($self, $id, $class);
706    
707      my $obj = $self->read_object($id, $class->{name}, $row);      my $obj = $self->read_object($id, $class->{name}, $row);
708        return undef unless defined $row;
709    
710      # ??? $self->{-residue} = \@row;      # ??? $self->{-residue} = \@row;
711    
# Line 709  sub reload Line 723  sub reload
723      my $class = $self->{schema}->classdef( $self->{id2class}{ int(substr($id, -$self->{cid_size})) } );      my $class = $self->{schema}->classdef( $self->{id2class}{ int(substr($id, -$self->{cid_size})) } );
724    
725          my $row = _fetch_object_state($self, $id, $class);          my $row = _fetch_object_state($self, $id, $class);
726        return undef unless defined $row;
727      _row_to_object($self, $obj, $id, $class->{name}, $row);      _row_to_object($self, $obj, $id, $class->{name}, $row);
728    
729      return $obj;      return $obj;
# Line 780  sub _fetch_object_state Line 795  sub _fetch_object_state
795    
796          $sth->execute($self->{export_id}->($id));          $sth->execute($self->{export_id}->($id));
797          my $state = [ $sth->fetchrow_array() ];          my $state = [ $sth->fetchrow_array() ];
798        unless (@$state) {
799          return undef unless $sth->err;
800          croak "error during load of object id=$id: $sth->err";
801        }
802          $sth->finish();          $sth->finish();
803    
804          return $state;          return $state;

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed