perl-DBIx-Threaded - Proxy class to permit DBI objects to be

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package filename perl-DBIx-Threaded-0.10-alt1.noarch.rpm
Package name perl-DBIx-Threaded
Package version 0.10
Package release alt1
Package architecture noarch
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 99.90 KB
Installed size 99.90 KB
DBIx::Threaded provides a subclass of the DBI manpage that provides wrappers for
standard DBI objects to permit them to be used by multiple threads.
Due to the limitations of threading and tied objects in Perl 5, DBI
(as of version 1.48), does not permit DBI-generated objects
(namely, connection and statement handles) to be used outside
of the thread in which they are created.
Due to its architecture, DBIx::Threaded also has the pleasant
side-effect of providing thread-safe access to DBD's which are not
otherwise thread-friendly or thread-safe (assuming any underlying
client libraries and/or XS code are thread-safe, e.g., do not
rely on unrestricted access to process-global variables).
DBIx::Threaded accomplishes this by spawning a separate server
(or *apartment*) thread to encapsulate a DBI container class
the DBIx::Threaded::Server manpage, for each connection
created by the connect() method. All the DBI connection and statement
interfaces for a single connection are then executed within that thread
(note that this is, in some respects, similar to the way Perl manages
threads::shared variables).
Separate client DBI connection and statement subclasses are also defined
to provide stub method implementations for the various DBI API
interfaces, DBI attributes, and any DBD-specific installed methods or
A the Thread::Queue::Duplex manpage *aka TQD)* object is created for each connection
to provide a lightweight communication channel between the client stubs and
the server container objects, passing parameters and results between
the client and server using either the threads::shared manpage variables
for simple scalars and structures, or marshalling via the Storable manpage for more
complex structures.
Note that, due to the way in which Perl threads are spawned
(i.e., cloning the entire interpretter context of the spawning thread),
a `dbix_threaded_create_pool()' class level method is provided to permit creation
of minimal context threads during application initialization, in order
to conserve memory resources.
Also note that DBIx::Threaded supports DBI subclass chaining so that,
e.g., it is possible to use the DBIx::Chart manpage with DBIx::Threaded. The subclass
may be specified either as an imported hash value in the form
_use DBIx::Threaded subclass => SubClass;
or in the `connect()' call via the `RootClass' attribute, as
supported by the DBI manpage.
Finally, in the event DBIx::Threaded is used in a Perl environment
that does not support threads (i.e., `$Config{useithreads}' is false),
it will fallback to the basic DBI behaviors, i.e., `connect()' will
simply call `DBI->connect()', and thus the caller will get a regular
DBI connection handle (or, if subclasses were declared when
DBIx::Threaded was `use''d, a subclassed connection handle).
DBIx::Threaded provides the following classes:
=over 4
=item DBIx::Threaded
main client side subclass of DBI
=item DBIx::Threaded::dr
client side subclass of DBI::dr
NOTE: since each connection is isolated in its own thread
(and hence, perl interpretter) context, use of the driver handle
is of marginal value, as any operations applied to a driver handle
derived from a DBIx::Threaded connection can only effect the driver running
in the container thread, and will have no effect on any of the other
connection instances.
=item DBIx::Threaded::db
client side subclass of DBI::db
=item DBIx::Threaded::st
client side subclass of DBI::st
=item DBIx::Threaded::Server
implements the server side, as a container class for DBI
DBIx::Threaded provides all the same methods, attributes, and behaviors
as DBI, plus some additional methods relevant to asynchronous execution
and general threading housekeeping.


Package Version Architecture Repository
perl-DBIx-Threaded - - -


Name Value
/usr/share/perl5 -
perl( -
perl( >= 1.480
perl( -
perl(Thread/Queue/ >= 0.120
perl(Thread/Queue/ -
perl(Time/ -
perl( -
perl( -
perl( -
perl(threads/ -
rpmlib(PayloadIsLzma) -


Name Value
perl(DBIx/ -
perl(DBIx/Threaded/ -
perl-DBIx-Threaded = 0.10-alt1


Type URL
Binary Package perl-DBIx-Threaded-0.10-alt1.noarch.rpm
Source Package perl-DBIx-Threaded-0.10-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-DBIx-Threaded rpm package:
    # sudo apt-get install perl-DBIx-Threaded



See Also

Package Description
perl-DBIx-Timeout-1.01-alt1.noarch.rpm provides safe timeouts for DBI calls
perl-DBIx-Tracer-0.03-alt1.noarch.rpm Easy tracer for DBI
perl-DBIx-Transaction-1.100-alt1.noarch.rpm perl module DBIx-Transaction
perl-DBIx-TransactionManager-1.13-alt1.noarch.rpm Transaction handling for database
perl-DBIx-TransactionManager-Distributed-0.02-alt1.noarch.rpm it will not be used for any further transaction requests via L</txn>
perl-DBIx-TransactionManager-EndHook-0.02-alt1.noarch.rpm hook of DBIx::TransactionManager commit
perl-DBIx-TransactionManager-Extended-0.03-alt1.noarch.rpm extended DBIx::TransactionManager
perl-DBIx-Tree-1.97-alt1.noarch.rpm Generate a tree from a self-referential database table
perl-DBIx-Tree-MaterializedPath-0.06-alt1.noarch.rpm fast DBI queries and updates on "materialized path" trees
perl-DBIx-Tree-NestedSet-0.16-alt1.noarch.rpm >connect('DBI:mysql:test','user','pass') or die ($DBI::errstr);
perl-DBIx-Tree-Persist-1.04-alt1.noarch.rpm Play with Tree and Tree::Persist a la DBIx::Tree
perl-DBIx-TryAgain-0.05-alt1.noarch.rpm If at first you don't succeed, try, try again
perl-DBIx-TxnPool-0.12-alt1.noarch.rpm The helper for making SQL insert/delete/update statements through a transaction method with a deadl
perl-DBIx-Version-0.01-alt1.noarch.rpm Perl extension for getting database software name and version
perl-DBIx-VersionedDDL-0.17-alt1.noarch.rpm Upgrade and downgrade database schemas to a specified version