ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-DBI/README
Revision: 1.1
Committed: Mon Jun 9 14:28:44 2008 UTC (15 years, 11 months ago) by root
Branch: MAIN
CVS Tags: rel-1_0
Log Message:
*** empty log message ***

File Contents

# Content
1 NAME
2 AnyEvent::DBI - asynchronous DBI access
3
4 SYNOPSIS
5 use AnyEvent::DBI;
6
7 DESCRIPTION
8 This module is an AnyEvent user, you need to make sure that you use and
9 run a supported event loop.
10
11 This module implements asynchronous DBI access my forking or executing
12 separate "DBI-Server" processes and sending them requests.
13
14 It means that you can run DBI requests in parallel to other tasks.
15
16 The overhead for very simple statements ("select 0") is somewhere around
17 120% to 200% (single/dual core CPU) compared to an explicit
18 prepare_cached/execute/fetchrow_arrayref/finish combination.
19
20 METHODS
21 $dbh = new AnyEvent::DBI $database, $user, $pass, [key => value]...
22 Returns a database handle for the given database. Each database
23 handle has an associated server process that executes statements in
24 order. If you want to run more than one statement in parallel, you
25 need to create additional database handles.
26
27 The advantage of this approach is that transactions work as state is
28 preserved.
29
30 Example:
31
32 $dbh = new AnyEvent::DBI
33 "DBI:mysql:test;mysql_read_default_file=/root/.my.cnf", "", "";
34
35 Additional key-value pairs can be used to adjust behaviour:
36
37 on_error => $callback->($dbh, $filename, $line, $fatal)
38 When an error occurs, then this callback will be invoked. On
39 entry, $@ is set to the error message. $filename and $line is
40 where the original request was submitted.
41
42 If this callback returns and this was a fatal error ($fatal is
43 true) then AnyEvent::DBI die's, otherwise it calls the original
44 request callback without any arguments.
45
46 If omitted, then "die" will be called on any errors, fatal or
47 not.
48
49 $dbh->exec ("statement", @args, $cb->($rows, %extra))
50 Executes the given SQL statement with placeholders replaced by
51 @args. The statement will be prepared and cached on the server side,
52 so using placeholders is compulsory.
53
54 The callback will be called with the result of "fetchall_arrayref"
55 as first argument and possibly a hash reference with additional
56 information.
57
58 If an error occurs and the "on_error" callback returns, then no
59 arguments will be passed and $@ contains the error message.
60
61 SEE ALSO
62 AnyEvent, DBI.
63
64 AUTHOR
65 Marc Lehmann <schmorp@schmorp.de>
66 http://home.schmorp.de/
67