.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "DBIx::Simple::Comparison 3pm" .TH DBIx::Simple::Comparison 3pm "2007-07-14" "perl v5.10.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" DBIx::Simple::Comparison \- DBIx::Simple in DBI jargon .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is just a simple and \fBinaccurate\fR overview of what \s-1DBI\s0 things the DBIx::Simple things represent, or the other way around. .PP This document can be useful to find the foo equivalent of bar. .PP \&\f(CW\*(C`?\*(C'\fR means that \s-1DBI\s0 doesn't have an equivalent or that I couldn't find one. .PP \&\f(CW\*(C`=\*(C'\fR means that DBIx::Simple provides a direct wrapper to the \s-1DBI\s0 function. .PP \&\f(CW\*(C`~\*(C'\fR 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. .PP 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. .PP 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.) .SS "Classes, common names" .IX Subsection "Classes, common names" .Vb 1 \& 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 \& ~ DBIx::Simple::Dummy \& $sth ~ $result .Ve .SS "Queries" .IX Subsection "Queries" \&\s-1DBI\s0 .PP .Vb 2 \& my $sth = $dbh\->prepare_cached($query); \& $sth\->execute(@values); .Ve .PP ~ DBIx::Simple .PP .Vb 1 \& my $result = $db\->query($query, $values); .Ve .SS "Results" .IX Subsection "Results" .Vb 1 \& 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 .Ve .PP *1 There's no fetch variant, but you can do \f(CW\*(C`{ @{ $dbh\->selectcol_arrayref(\*(AqSELECT ...\*(Aq, { Slice => [] }) } }\*(C'\fR. .PP *2 To receive the keys (column names) lowercased, use \f(CW\*(C`$db\->{FetchHashKeyName} = \*(AqNAME_lc\*(Aq\*(C'\fR. DBIx::Simple lower cases them by default. .PP *3 Or supply an argument, \f(CW\*(AqNAME_lc\*(Aq\fR. .PP *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. .SS "Direct access" .IX Subsection "Direct access" .Vb 1 \& 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 .Ve .SS "DBIx::Simple specific (?)" .IX Subsection "DBIx::Simple specific (?)" .Vb 9 \& keep_statements \& lc_columns \& iquery (via SQL::Interp) \& select, insert, update, delete (via SQL::Abstract) \& abstract (via SQL::Abstract) \& flat \& hashes \& map_arrays \& map .Ve .SH "LICENSE" .IX Header "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. .SH "AUTHOR" .IX Header "AUTHOR" Juerd Waalboer .SH "SEE ALSO" .IX Header "SEE ALSO" \&\s-1DBI\s0, DBIx::Simple