Catalyst::Model::DBI::SUQsLe:r:LCiobnrtarriyb(u3t)ed PerClatDaolcyusmte:n:tMaotdieoln::DBI::SQL::Library(3)
NNAAMMEE
Catalyst::Model::DBI::SQL::Library - SQL::Library DBI Model Class
SSYYNNOOPPSSIISS
# use the helper
create model DBI::SQL::Library DBI::SQL::Library dsn user password
# lib/MyApp/Model/DBI/SQL/Library.pm
package MyApp::Model::DBI::SQL::Library;
use base 'Catalyst::Model::DBI::SQL::Library';
__PACKAGE__->config(
dsn => 'dbi:Pg:dbname=myapp',
password => '',
user => 'postgres',
options => { AutoCommit => 1 },
sqldir => 'root/sql' #optional, will default to $c->path_to ( 'root/sql' ),
sqlcache => 1 #can only be used when queries are loaded from file i.e. via scalar passed to load
sqlcache_use_mtime => 1 #will use modification time of the file to determine when to refresh the cache
);
1;
my $model = $c->model( 'DBI::SQL::Library' );
my $sql = $model->load ( 'something.sql' ) ;
#or my $sql = $model->load ( [ <FH> ] );
#or my $sql = $model->load ( [ $sql_query1, $sql_query2 ] ) )
my $query = $sql->retr ( 'some_sql_query' );
#or my $query = $model->sql->retr ( 'some_sql_query );
$model->dbh->do ( $query );
#do something else with $sql ...
DDEESSCCRRIIPPTTIIOONN
This is the "SQL::Library" model class. It provides access to
"SQL::Library" via sql accessor. Additional caching options are pro-
vided for increased performance via sqlcache and sqlcache_use_mtime,
these options can only be used when sql strings are stored within a
file and loaded by using a scalar value passed to load. The load and
parse phase is then bypassed if cached version of the file is found.
The use of these options can result in more memory being used but
faster access to query data when running under persistent environment
such as mod_perl or FastCGI. When sqlcache_use_mtime is in use, last
modification time of the file is being referenced upon every cache
check. If the modification time has changed query file is then
re-loaded. This may slower the application a little bit, but should
still be much faster then re-creating the SQL::Library instance on
every load. Please refer to the "SQL::Library" for more information.
MMEETTHHOODDSS
new Initializes database connection
$self->load
Initializes "SQL::Library" instance
$self->dbh
Returns the current database handle.
$self->sql
Returns the current "SQL::Library" instance
SSEEEE AALLSSOO
Catalyst, DBI
AAUUTTHHOORR
Alex Pavlovic, "alex.pavlovic@taskforce-1.com"
CCOOPPYYRRIIGGHHTT
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.8.8 2006-07-C2a4talyst::Model::DBI::SQL::Library(3)