DESCRIPTION

This is just a simple and inaccurate overview of what \s-1DBI\s0 things the DBIx::Simple things represent, or the other way around.

This document can be useful to find the foo equivalent of bar.

\*(C`?\*(C' means that \s-1DBI\s0 doesn't have an equivalent or that I couldn't find one.

\*(C`=\*(C' means that DBIx::Simple provides a direct wrapper to the \s-1DBI\s0 function.

\*(C`~\*(C' means that DBIx::Simple's method does more or less the same, but usually in a more high level way: context sensitive, combining things, automatically taking care of something.

Note that DBIx::Simple is a wrapper around \s-1DBI\s0. It is not \*(L"better\*(R" than \s-1DBI\s0. In fact, DBIx::Simple cannot work without \s-1DBI\s0.

Using \s-1DBI\s0 directly is always faster than using DBIx::Simple's equivalents. (For the computer, that is. For you, DBIx::Simple is supposed to be faster.)

Classes, common names

 use DBI       ~  use DBIx::Simple

 $DBI::errstr  =  DBIx::Simple->error

 DBI::db       ~  DBIx::Simple
 $dbh          ~  $db
 $dbh->errstr  =  $db->error

 connect       ~  connect
 connect       ~  new

 DBI::st       ~  DBIx::Simple::Result
 <undef>       ~  DBIx::Simple::Dummy
 $sth          ~  $result

Queries

\s-1DBI\s0

my $sth = $dbh->prepare_cached($query); $sth->execute(@values);

~ DBIx::Simple

my $result = $db->query($query, $values);

Results

DBI DBIx::Simple

bind_columns ~ bind

fetchrow_arrayref/fetch = fetch fetchrow_array ~ list *1 ~ flat [@{fetchrow_arrayref}] = array fetchall_arrayref ~ arrays fetchrow_hashref() *2*3 = hash fetchall_arrayref({}) *4 ~ hashes

fetchall_hashref *2 = map_hashes ? ? map_arrays fetchall_hashref(1) *2 = map

$sth->{NAME_lc/NAME} = $result->columns

*1 There's no fetch variant, but you can do \*(C`{ @{ $dbh->selectcol_arrayref('SELECT ...', { Slice => [] }) } }\*(C'.

*2 To receive the keys (column names) lowercased, use \*(C`$db->{FetchHashKeyName} = 'NAME_lc'\*(C'. DBIx::Simple lower cases them by default.

*3 Or supply an argument, 'NAME_lc'.

*4 No, arrayref isn't a typo. When supplied an empty hash reference, \s-1DBI\s0's fetchall_arrayref actually returns hashrefs. This \s-1DBI\s0 method does not support lower casing of keys, DBIx::Simple does.

Direct access

DBI DBIx::Simple

$dbh = $db->dbh $sth->{$foo} = $result->attr($foo)

func = func

begin_work = begin_work commit = commit rollback = rollback last_insert_id = last_insert_id rows = rows

disconnect ~ disconnect finish ~ finish

DBIx::Simple specific (?)

keep_statements lc_columns iquery (via SQL::Interp) select, insert, update, delete (via SQL::Abstract) abstract (via SQL::Abstract) flat hashes map_arrays map

LICENSE

There is no license. This software was released into the public domain. Do with it what you want, but on your own risk. The author disclaims any responsibility.

AUTHOR

Juerd Waalboer <[email protected]> <http://juerd.nl/>

RELATED TO DBIx::Simple::Comparison…

\s-1DBI\s0, DBIx::Simple