--- nfo/perl/libs/Tangram/Storage.pm 2002/12/16 05:08:22 1.3 +++ nfo/perl/libs/Tangram/Storage.pm 2002/12/16 05:14:43 1.4 @@ -247,6 +247,19 @@ return sprintf "%d%0$self->{cid_size}d", $id, $class_id; } + +# create global unique identifers using Data::UUID +sub make_guid + { + my $self = shift; + + eval ("use Data::UUID;"); + my $ug = Data::UUID->new(); + my $guid = $ug->create_str(); + + return $guid; + } + sub make_1st_id_in_tx { my ($self) = @_; @@ -455,6 +468,13 @@ return $self->id($obj) if $self->id($obj); + # insert global unique identifier in object to persist across re-deploys + $obj->{guid} = $self->make_guid(); + + # debug + use Data::Dumper; + print Dumper($obj); + $saving->insert($obj); my $class_name = ref $obj; @@ -484,7 +504,7 @@ if ($Tangram::TRACE) { printf $Tangram::TRACE "executing %s with (%s)\n", - $cache->{INSERTS}[$i], + $cache->{INSERTS}[$i], join(', ', map { $_ || 'NULL' } @state[ @{ $fields->[$i] } ] ) }