| SPOPS documentation | Contained in the SPOPS distribution. |
SPOPS::Key::UUID - Creates a Universally Unique ID (UUID) as a key
# In your SPOPS configuration
$spops = {
'myspops' => {
'isa' => [ qw/ SPOPS::Key::UUID SPOPS::DBI / ],
...
},
};
Very, very simple. We just use the Data::UUID module to create a unique key. The key is created before the object is inserted.
The docs for Data::UUID say that it can handle millions of new keys per second, which should be enough for anything Perl is running.
Unclear whether Data::UUID works on Win32.
Nothing known.
Copyright (c) 2001-2004 intes.net, inc.. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Chris Winters <chris@cwinters.com>
| SPOPS documentation | Contained in the SPOPS distribution. |
package SPOPS::Key::UUID; # $Id: UUID.pm,v 3.4 2004/06/02 00:48:23 lachoy Exp $ use strict; use Log::Log4perl qw( get_logger ); use SPOPS; my $log = get_logger(); $SPOPS::Key::UUID::VERSION = sprintf("%d.%02d", q$Revision: 3.4 $ =~ /(\d+)\.(\d+)/); BEGIN { eval { require Data::UUID } } my $GENERATOR = Data::UUID->new(); sub pre_fetch_id { my ( $class, $p ) = @_; return ( $GENERATOR->create_str(), 1, ); } sub post_fetch_id { return undef } 1; __END__