DBI::PurePerl man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

DBI::PurePerl(3)      User Contributed Perl Documentation     DBI::PurePerl(3)

       DBI::PurePerl -- a DBI emulation using pure perl (no C/XS compilation

	use DBI;

       This is a pure perl emulation of the DBI internals.  In almost all
       cases you will be better off using standard DBI since the portions of
       the standard version written in C make it *much* faster.

       However, if you are in a situation where it isn't possible to install a
       compiled version of standard DBI, and you're using pure-perl DBD driv‐
       ers, then this module allows you to use most common features of DBI
       without needing any changes in your scripts.

       DBI::PurePerl is new so please treat it as experimental pending more
       extensive testing.  So far it has passed all tests with DBD::CSV,
       DBD::AnyData, DBD::XBase, DBD::Sprite, DBD::mysqlPP.  Please send bug
       reports to Jeff Zucker at <jeff@vpservices.com> with a cc to

       The usage is the same as for standard DBI with the exception that you
       need to set the enviornment variable DBI_PUREPERL if you want to use
       the PurePerl version.

	DBI_PUREPERL == 0 (the default) Always use compiled DBI, die
			  if it isn't properly compiled & installed

	DBI_PUREPERL == 1 Use compiled DBI if it is properly compiled
			  & installed, otherwise use PurePerl

	DBI_PUREPERL == 2 Always use PurePerl

       You may set the enviornment variable in your shell (e.g. with set or
       setenv or export, etc) or else set it in your script like this:


       before you "use DBI;".

       In most situations simply install DBI (see the DBI pod for details).

       In the situation in which you can not install DBI itself, you may manu‐
       ally copy DBI.pm and PurePerl.pm into the appropriate directories.

       For example:

	cp DBI.pm      /usr/jdoe/mylibs/.
	cp PurePerl.pm /usr/jdoe/mylibs/DBI/.

       Then add this to the top of scripts:

	  $ENV{DBI_PUREPERL} = 1;      # or =2
	  unshift @INC, '/usr/jdoe/mylibs';

       (Or should we perhaps patch Makefile.PL so that if DBI_PUREPERL is set
       to 2 prior to make, the normal compile process is skipped and the files
       are installed automatically?)


       Boolean attributes still return boolean values but the actual values
       used may be different, i.e., 0 or undef instead of an empty string.

       Some handle attributes are either not supported or have very limited


       (and probably others)


       Trace functionality is more limited and the code to handle tracing is
       only embeded into DBI:PurePerl if the DBI_TRACE environment variable is
       defined.	 To enable total tracing you can set the DBI_TRACE environment
       variable as usual.  But to enable individual handle tracing using the
       trace() method you also need to set the DBI_TRACE environment variable,
       but set it to 0.

       Parameter Usage Checking

       The DBI does some basic parameter count checking on method calls.
       DBI::PurePerl doesn't.


       DBI::PurePerl is slower. Although, with some drivers in some contexts
       this may not be very significant for you.

       By way of example... the test.pl script in the DBI source distribution
       has a simple benchmark that just does:

	   my $null_dbh = DBI->connect('dbi:NullP:','','');
	   my $i = 10_000;
	   $null_dbh->prepare('') while $i--;

       In other words just prepares a statement, creating and destroying a
       statement handle, over and over again.  Using the real DBI this runs at
       ~4550 handles per second whereas DBI::PurePerl manages ~2800 per second
       on the same machine (not too bad really).

       May not fully support hash()

       If you want to use type 1 hash, i.e., "hash($string,1)" with
       DBI::PurePerl, you'll need version 1.56 or higher of Math::BigInt
       (available on CPAN).

       Doesn't support preparse()

       The DBI->preparse() method isn't supported in DBI::PurePerl.

       Doesn't support DBD::Proxy

       There's a subtle problem somewhere I've not been able to identify.
       DBI::ProxyServer seem to work fine with DBI::PurePerl but DBD::Proxy
       does not work 100% (which is sad because that would be far more useful
       :) Try re-enabling t/80proxy.t for DBI::PurePerl to see if the problem
       that remains will affect you're usage.


	 can() - doesn't have any special behaviour

       Please let us know if you find any other differences between DBI and

       Tim Bunce and Jeff Zucker.

       Tim provided the direction and basis for the code.  The original idea
       for the module and most of the brute force porting from C to Perl was
       by Jeff. Tim then reworked some core parts to boost the performance and
       accuracy of the emulation. Thanks also to Randal Schwartz and John
       Tobey for patches.

       Copyright (c) 2002  Tim Bunce  Ireland.

       See COPYRIGHT section in DBI.pm for usage and distribution rights.

perl v5.8.8			  2007-05-13		      DBI::PurePerl(3)

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net