Revision history for AnyEvent::DBI

3.04 Mon Apr 23 18:30:40 CEST 2018
	- forgot to bump slave version (reported by Felix Ostmann).

3.03 Thu Apr 19 06:24:14 CEST 2018
	- the main process socket was not actually set to nonblocking mode,
          causing lockups under load (reported by Felix Ostmann).

3.02 Mon Sep  4 13:45:56 CEST 2017
	- fixed module version mismatch (reported by Martin Barth).

3.01 Sun Aug 27 11:53:26 CEST 2017
	- add missing dependency to AnyEvent::Fork.

3.0  Tue Aug 15 09:05:30 CEST 2017
        - the exec_server constructor argument is now ignored, fork vs. exec
          is now decided by availability of AnyEvent::Fork::Early or not.
        - experimental support for fetching (but not setting) statement handle
          attributes: ->stattr.
        - use AnyEvent::Fork for process management.
	- switch to CBOR::XS and Convert::Scalar for further speed and memory
          improvements - a loop doing "select 0" is now almost twice as fast,
          more impressive speedups are expected for larger results.
          This also considerably simplified the code.
	- t/02_sql_lite.t wrongly assumed sqlite doesn't implement instr(), but
          nowadays, it does.
        - added stability canary support.
        - no longer load Scalar::Util, Fcntl, Socket and POSIX modules.
        - move child code into it's own module, AnyEvent::DBI::Slave.
        - no longer load DBI (except in slaves).

2.3  Tue Apr  2 02:59:12 CEST 2013
	- fix begin_work, commit and rollback, that were broken due
          to a precedence problem (analyzed by Jerry Lundström).
        - slightly improve tests.

2.2  Thu May 17 04:13:27 CEST 2012
	- timeouts didn't trigger (Adam Rosenstein).
        - do not leave zombie processes (Adam Rosenstein).

2.1  Sat Oct 30 22:22:05 CEST 2010
	- no longer kill -9 the child, just kill -TERM and close the connection,
          to avoid database corruption - this also works around a perl bug
          (global destruction).
	- convert to the faster AE API - major speedup.
        - use common::sense.

2.0  Mon Jun 29 10:18:58 CEST 2009
	- INCOMPATIBLE CHANGE: callbacks now are passed the $dbh
          as first argument, always.
        - INCOMPATIBLE CHANGE: really pass rv as third argument to exec
          callbacks, as documented but not implemented for 1.1.
        - thanks to viacheslav.t for testing.
	- major patch by Adam Rosenstein:
        - add an on_connect callback (for reliable failure notification)
        - add timeouts to connect and exec.
        - reaps server processes if you undef your AE::DBI handle and keep
        - option to start the server via exec, otherwise try to emulate
          close-on-exec behavior.
        - add the begin_work/commit/rollback methods required to actually use
        - add accessors for database handle attibutes such as AutoCommit,
          RaiseError, etc.
        - add support for the func() method to interact directly with a driver.
        - add more/real tests.

1.1  Sat Dec 20 22:28:11 CET 2008
	- INCOMPATIBLE CHANGE: pass result value in place of %extra
          to callbacks.
	- do not call fetchrow_arrayref on non-select statements.
        - do not die on non-fatal errors, unless there is no error callback
          (reported by Adam Rosenstein).

1.0  Mon Jun  9 16:27:36 CEST 2008
	- original version, an AnyEvent::HTTP clone.