DBIx::Simple::Comparison.3pm

Langue: en

Version: 2007-07-14 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

DBIx::Simple::Comparison - DBIx::Simple in DBI jargon

DESCRIPTION

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

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

"?" means that DBI doesn't have an equivalent or that I couldn't find one.

"=" means that DBIx::Simple provides a direct wrapper to the DBI function.

"~" 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 DBI. It is not ``better'' than DBI. In fact, DBIx::Simple cannot work without DBI.

Using DBI 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

DBI
  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 "{ @{ $dbh->selectcol_arrayref('SELECT ...', { Slice => [] }) } }".

*2 To receive the keys (column names) lowercased, use "$db->{FetchHashKeyName} = 'NAME_lc'". 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, DBI's fetchall_arrayref actually returns hashrefs. This DBI 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 <juerd@cpan.org> <http://juerd.nl/>

SEE ALSO

DBI, DBIx::Simple