Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Connector::DriveUser Contributed Perl DocumentDBIx::Connector::Driver(3)

Name
       DBIx::Connector::Driver - Database-specific connection interface

Description
       Some of the things that DBIx::Connector does are	implemented
       differently by different	drivers, or the	official interface provided by
       the DBI may not be implemented for a particular driver. The driver-
       specific	code therefore is encapsulated in this separate	driver class.

       Most of the DBI drivers work uniformly, so in most cases	the
       implementation provided here in DBIx::Connector::Driver will work just
       fine. It's only when something is different that	a driver subclass
       needs to	be added. In such a case, the subclass's name is the same as
       the DBI driver. For example the driver for DBD::Pg is
       DBIx::Connector::Driver::Pg and the driver for DBD::mysql is
       DBIx::Connector::Driver::mysql.

       If you're just a	user of	DBIx::Connector, you can ignore	the driver
       classes.	 DBIx::Connector uses them internally to do its	magic, so you
       needn't worry about them.

Interface
       In case you need	to implement a driver, here's the interface you	can
       modify.

   Constructor
       "new"

	 my $driver = DBIx::Connector::Driver->new( $driver );

       Constructs and returns a	driver object. Each driver class is
       implemented as a	singleton, so the same driver object is	always
       returned	for the	same driver.  The "driver" parameter should be a Perl
       DBI driver name,	such as	"Pg" for DBD::Pg or "SQLite" for DBD::SQLite.
       If a subclass has been defined for $driver, then	the object will	be of
       that class.  Otherwise it will be an instance of	the driver base	class.

   Instance Methods
       "ping"

	 $driver->ping($dbh);

       Calls "$dbh->ping". Override if for some	reason the DBI driver doesn't
       do it right.

       "begin_work"

	 $driver->begin_work($dbh);

       Calls "$dbh->begin_work". Override if for some reason the DBI driver
       doesn't do it right.

       "commit"

	 $driver->commit($dbh);

       Calls "$dbh->commit". Override if for some reason the DBI driver
       doesn't do it right.

       "rollback"

	 $driver->rollback($dbh);

       Calls "$dbh->rollback". Override	if for some reason the DBI driver
       doesn't do it right.

       "savepoint"

	 $driver->savepoint($dbh, $name);

       A no-op.	Override if your database does in fact support savepoints. The
       driver subclass should create a savepoint with the given	$name. See the
       implementations in DBIx::Connector::Driver::Pg and
       DBIx::Connector::Driver::Oracle for examples.

       "release"

	 $driver->release($dbh,	$name);

       A no-op.	Override if your database does in fact support savepoints. The
       driver subclass should release the savepoint with the given $name. See
       the implementations in DBIx::Connector::Driver::Pg and
       DBIx::Connector::Driver::Oracle for examples.

       "rollback_to"

	 $driver->rollback_to($dbh, $name);

       A no-op.	Override if your database does in fact support savepoints. The
       driver subclass should rollback to the savepoint	with the given $name.
       See the implementations in DBIx::Connector::Driver::Pg and
       DBIx::Connector::Driver::Oracle for examples.

Authors
       This module was written and is maintained by:

       David E.	Wheeler	<david@kineticode.com>

       It is based on code written by:

       Matt S. Trout <mst@shadowcatsystems.co.uk>
       Peter Rabbitson <rabbit+dbic@rabbit.us>

Copyright and License
       Copyright (c) 2009-2013 David E.	Wheeler. Some Rights Reserved.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.24.1			  2017-07-02	    DBIx::Connector::Driver(3)

Name | Description | Interface | Authors | Copyright and License

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Connector::Driver&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help