Cosmic::DB - Lightweight SQL generation, portable across Oracle, MySQL, Postgres & SQL Server
use Cosmic::DB;
DEVELOPMENT RELEASE - Don't use this, like Magnum it's nowhere near ready.
(Yes that was a Zoolander reference)
This module acts as a gateway to Cosmic::DB::Schema and Cosmic::DB::SQL, providing some additional convenient functionality.
You may well wish to use your current DBI wrapper, such as DBIx::Simple and instantiate Cosmic::DB::Schema and Cosmic::DB::SQL directly.
Usage
my $db = new Cosmic::DB( dsn => $DSN, user => $user, pass => $pass, attrs => \%attrs); my $dbclone = $db->new(); my $dbcopy = $db->new( param => value, attrs => \%attrs);
Purpose : Creates new Cosmic::DB instance, clones an existing instance Parameters:
attrs => %attrs - passed to DBI connect, see L<DBI> for details debug = 0|1 - turn on debugging warnings debug_newline = "\n<br>" - for debugging newline characters prefix = STRING - used to prefix table names prefix = STRING - used to suffix table names
An instance can be cloned by calling new against it. You can optionally pass new params and attributes that will overwrite any existing ones for the clone. The clone will still need to "connect"
See Also : DBI
$db->connect; $db->connect( $dbh );
Connects with details sent to new, or can optionally be given a DBH which it's use instead. Returns true upon connection or croaks.
Usage $db->disconnect;
Disconnects the database connection.
$db->insert( $table, \@columns, \@values ); $db->insert( $table, \@columns, \%values ); $db->insert( $table, \%values ); $db->insert( $table, \@columns, [ \@values, \@values, ... ] ); $db->insert( $table, \@columns, [ \%values, \%values, ... ] ); $db->insert( $table, [ \%values, \%values, ... ] );
Purpose : Inserts \@values into the \@columns of $table Parameters:
$table = STRING - name of the table \@columns = LIST - array reference to column names \@values = LIST - array reference to values \%values = HASH - hash reference to values keyed by column names
Uses do for single inserts, or prepare and a loop for multiple. If columns is ommitted and %values is a hash (or arrary ref of hashes) then the hash keys are used as the columns. If %values is a hash and columns is passed, then other hash keys are ignored.
$db->delete( $table, \%where ); $db->delete( $table, \%where, \@values );
Purpose : Deletes rows from $table where %where is true for @values Parameters:
$table = STRING - name of the table \%where = HASH - a L<Cosmic::DB::SQL/where> where hash \@values = LIST - list of values to replace placeholders
Uses do for single deletes, or prepare and a loop for multiple. Values must contain arrayref of arrayrefs if used.
$db->update( $table, \@columns, \@data, \%where ); $db->update( $table, \@columns, \%data, \%where ); $db->update( $table, \%data, \%where ); $db->update( $table, \@columns, [ \@data, \@data, ... ], \%where ); $db->update( $table, \@columns, [ \%data, \%data, ... ], \%where ); $db->update( $table, [ \%data, \%data, ... ], \%where );
Purpose : Updates \@data into the \@columns of $table where %where is true Parameters:
$table = STRING - name of the table \@columns = LIST - array reference to column names \@data = LIST - array reference to values \%data = HASH - hash reference to values keyed by column names \%where = HASH - a L<Cosmic::DB::SQL/where> where hash
Uses do for single upates, or prepare and a loop for multiple. If columns is ommitted and %data is a hash (or arrary ref of hashes) then the hash keys are used as the columns. If %data is a hash and columns is passed, then other hash keys are ignored.
Use RT, or you'll probably get a better responce on the mailing list.
Mailing list coming soon
Lyle Hopkins CPAN ID: cosmicnet Bristol & Bath Perl Moungers cosmicnet@cpan.org http://perl.bristolbath.org
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
perl(1).
To install Cosmic::DB, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Cosmic::DB
CPAN shell
perl -MCPAN -e shell install Cosmic::DB
For more information on module installation, please visit the detailed CPAN module installation guide.