NAME

DBIx::Compat - Perl extension for Compatibility Infos about DBD Drivers

SYNOPSIS

use DBIx::Compat;

$DBIx::Compat::Compat{$Driver}{Placeholders}  
$DBIx::Compat::Compat{$Driver}{QuoteTypes}  
$DBIx::Compat::Compat{$Driver}{ListFields}  

DESCRIPTION

DBIx::Compat contains a hash which gives information about DBD drivers, to allow to write driver independent programs.

Currently there are three attributes defined:

Placeholders

Gives information if and how placeholders are supported:

0 = Not supported
1 = Supported, but not fully, unknown how much
2 = Supported, but perl type must be the same as type in db
3 = Supported, but can not give a string when a numeric type is in the db
10 = Supported under all circumstances

QuoteTypes

Gives information which datatypes must be quoted when passed literal (not via a placeholder). Contains a hash with all type number which need to be quoted.

$DBIx::Compat::Compat{$Driver}{QuoteTypes}{$Type} 

will be true when the type in $Type for the driver $Driver must be quoted.

ListFields

A function which will return information about all fields of an table. Needs an database handle and a tablename as argument. Must at least return the fieldnames and the fieldtypes.

Example:
 
 $ListFields = $DBIx::Compat::Compat{$Driver}{ListFields} ;
 $sth = &{$ListFields}($DBHandle, $Table) or die "Cannot list fields" ;
   
 @{ $sth -> {NAME} } ; # array of fieldnames
 @{ $sth -> {TYPE} } ; # array of filedtypes

 $sth -> finish ;

Supported Drivers

Currently there are entry for

DBD::mSQL
DBD::mysql
DBD::Pg
DBD::Solid
DBD::ODBC
DBD::CSV
DBD::Oracle

if you detect an error in the definition or add an definition for a new DBD driver, please mail it to the author.

AUTHOR

G.Richter <richter*dev.ecos.de>

SEE ALSO

perl(1), DBI(3), DBIx::Recordset(3)

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 233:

'=item' outside of any '=over'

Around line 251:

You forgot a '=back' before '=head1'