The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

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 244:

'=item' outside of any '=over'

Around line 259:

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