/[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.5 by jonen, Mon Dec 16 05:50:07 2002 UTC revision 1.9 by joko, Thu Apr 24 00:21:27 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      my $ug = Data::UUID->new();  
258      my $guid = $ug->create_str();      # try to use Data::UUID first ...
259        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 691  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 708  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 779  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            croak "no object with id $id" unless (@{$state});
799            unless (@$state) {
800                    return undef unless $sth->err;
801                    croak "error during load of object id=$id: $sth->err";
802            }
803          $sth->finish();          $sth->finish();
804    
805          return $state;          return $state;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.9

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