The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Role::Pg::Sequences - Client Role for handling PostgreSQL Sequences

VERSION

version 0.002

DESCRIPTION

This role handles the use of Sequences in a PostgreSQL database.

NAME

Role::Pg::Sequences

ATTRIBUTES

sequences_dbh

Role::Pg::Sequences tries to guess your dbh. If it isn't a standard dbi::db named dbh, or constructed in a dbix::class schema called schema, you have to return the dbh from _build_sequences_dbh.

sequences_schema

Should be set to the name of the database schema to hold the sequence. Default "public".

METHODS

create_sequence

 $self->create_sequence(sequence => 'my_sequence');

 Optional parameters:

        temporary - if set, means that the sequence is temporary and will disappear when the current session is closed
        increment - the value that the sequence will be incremented by
        minvalue - the minimumn value of the sequence. Default 1
        maxvalue - the maximum value of the sequence. Default 2^63-1
        start - Which value to be the first. Default minvalue
        cache - How many sequence numbers to cache

Creates a sequence.

An optional password can be added. The user (or group) is then created with an encrypted password.

drop_sequence

 $self->drop_sequence(sequence => 'my_sequence');

Drops a sequence.

sequence_exists

 print "It's there" if $self->sequence_exists(sequence => 'my_sequence');

Returns true if the sequence exists.

nextval

 my $sequence_value = $self->nextval(sequence => 'my_sequence');

Increments and returns the next value of the sequence

setval

 $self->nextval(sequence => 'my_sequence', value => $new_value);

 Returns the new value

 The optional parameter is_called determines if the value is already incremented. Set this parameter to a false value
 if you want the next nextval to NOT increment the value.

Sets the value of the sequence

lastval

 my $sequence_value = $self-lastval;

Returns the latest value of any sequence

AUTHOR

Kaare Rasmussen <kaare@cpan.org>.

COPYRIGHT

Copyright (C) 2015, Kaare Rasmussen

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.

AUTHOR

Kaare Rasmussen <kaare at cpan dot net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Kaare Rasmussen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.