NAME
Data::Session::Driver::Pg - A persistent session manager
Synopsis
See Data::Session for details.
Description
Data::Session::Driver::Pg allows Data::Session to manipulate sessions via DBD::Pg.
To use this module do both of these:
- o Specify a driver of type Pg, as Data::Session -> new(type => 'driver:Pg ...')
- o Specify a database handle as Data::Session -> new(dbh => $dbh) or a data source as Data::Session -> new(data_source => $string)
Case-sensitive Options
See "Case-sensitive Options" in Data::Session for important information.
Method: new()
Creates a new object of type Data::Session::Driver::Pg.
new()
takes a hash of key/value pairs, some of which might mandatory. Further, some combinations might be mandatory.
The keys are listed here in alphabetical order.
They are lower-case because they are (also) method names, meaning they can be called to set or get the value at any time.
- o data_col_name => $string
-
Specifes the name of the column in the sessions table which holds the session data.
This key is normally passed in as Data::Session -> new(data_col_name => $string).
The default value is 'a_session'.
This key is optional.
- o data_source => $string
-
Specifies the data source (as used by DBI -> connect($data_source, $username, $password, $data_source_attr) ) to obtain a database handle.
This key is normally passed in as Data::Session -> new(data_source => $string).
The default value is ''.
This key is optional, as long as a value is supplied for 'dbh'.
- o data_source_attr => $hashref
-
Specifies the attributes (as used by DBI -> connect($data_source, $username, $password, $data_source_attr) ) to obtain a database handle.
This key is normally passed in as Data::Session -> new(data_source_attr => $hashref).
The default value is {AutoCommit => 1, PrintError => 0, RaiseError => 1}.
This key is optional.
- o dbh => $dbh
-
Specifies the database handle to use to access the sessions table.
This key is normally passed in as Data::Session -> new(dbh => $dbh).
If not specified, this module will use the values of these keys to obtain a database handle:
The default value is ''.
This key is optional.
- o host => $string
-
Not used.
- o id_col_name => $string
-
Specifes the name of the column in the sessions table which holds the session id.
This key is normally passed in as Data::Session -> new(id_col_name => $string).
The default value is 'id'.
This key is optional.
- o password => $string
-
Specifies the password (as used by DBI -> connect($data_source, $username, $password, $data_source_attr) ) to obtain a database handle.
This key is normally passed in as Data::Session -> new(password => $string).
The default value is ''.
This key is optional.
- o pg_bytea => $boolean
-
Specifies (if pg_bytea => 1) that the a_session column in the sessions table is of type bytea.
This key is normally passed in as Data::Session -> new(pg_bytea => $boolean).
If both 'pg_bytea' and 'pg_text' are set to 1, 'pg_text' is forced to be 0.
If both 'pg_bytea' and 'pg_text' are set to 0, 'pg_bytea' is forced to be 1.
- o pg_text => $boolean
-
Specifies (if pg_text => 1) that the a_session column in the sessions table is of type text.
This key is normally passed in as Data::Session -> new(pg_text => $boolean).
- o port => $string
-
Not used.
- o socket => $string
-
Not used.
- o table_name => $string
-
Specifes the name of the sessions table.
This key is normally passed in as Data::Session -> new(table_name => $string).
The default value is 'sessions'.
This key is optional.
- o username => $string
-
Specifies the username (as used by DBI -> connect($data_source, $username, $password, $data_source_attr) ) to obtain a database handle.
This key is normally passed in as Data::Session -> new(username => $string).
The default value is ''.
This key is optional.
- o verbose => $integer
-
Print to STDERR more or less information.
This key is normally passed in as Data::Session -> new(verbose => $integer).
Typical values are 0, 1 and 2.
This key is optional.
Method: remove($id)
Deletes from storage the session identified by $id, or dies if it can't.
Returns 1.
Method: retrieve($id)
Retrieve from storage the session identified by $id, or dies if it can't.
Returns the session.
This is a frozen session. This value must be thawed by calling the appropriate serialization driver's thaw() method.
Data::Session calls the right thaw() automatically.
Method: store($id => $data)
Writes to storage the session identified by $id, together with its data $data, or dies if it can't.
$dbh -> selectall_arrayref is used, and the table is not locked.
Returns 1.
Method: traverse()
Retrieves all ids from the sessions table, and for each id calls the supplied subroutine with the id as the only parameter.
Returns 1.
Support
Log a bug on RT: https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Session.
Author
Data::Session was written by Ron Savage <ron@savage.net.au> in 2010.
Home page: http://savage.net.au/index.html.
Copyright
Australian copyright (c) 2010, Ron Savage.
All Programs of mine are 'OSI Certified Open Source Software';
you can redistribute them and/or modify them under the terms of
The Artistic License, a copy of which is available at:
http://www.opensource.org/licenses/index.html