DBIx::C...::Driver(3)
π NAME π
Okay so bestie, welcome to the DBIx::C...::Driver(3) page β User Contributed Perl Documentation, periodt. The module is DBIx::Connector::Driver, and itβs the Database-specific connection interface. Itβs giving βsmall but iconic driver layer,β and weβre obsessed. β¨
π¦ DESCRIPTION π¦
So hereβs the tea, fr fr: 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. Because of that, the driver-specific code is encapsulated in this separate driver class. π
Most of the DBI drivers work uniformly, so in most cases the implementation provided right 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. No cap, bestie. π«Ά
π οΈ 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. Simple as that. π
π 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 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. π
And thatβs the whole page, bestie! This was DBIx::C...::Driver(3) from User Contributed Perl Documentation β perl v5.40.0, dated 2024-10-21. Slay. π
β¨
π¦ where this page comes from
- epel 10: perl-DBIx-Connector 0.60-1.el10_0 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms