Provided by: libdbix-recordset-perl_0.26-3_all bug

NAME

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

SYNOPSIS

         use DBIx::Compat;

         my $HaveTypes  = DBIx::Compat::GetItem ($drv, 'HaveTypes') ;

DESCRIPTION

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

       Currently there are the following attributes defined:

   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 ;

   ListTables
       A function which will return an array of all tables of the datasource. Defaults to $dbh ->
       "tables".

   NumericTypes
       Hash which contains one entry for all datatypes that are numeric.

   SupportJoin
       Set to true if the DBMS supports joins (select with multiple tables)

   SupportSQLJoin
       Set to 1 if the DBMS supports INNER/LEFT/RIGHT JOIN Syntax in SQL select.  Set to 2 if
       DBMS needs a *= b syntax for inner join (MS-SQL, Sybase).  Set to 3 if DBMS needs a = b
       (+) syntax for inner join (Oracle syntax).

   SQLJoinOnly2Tabs
       Set to true if DBMS can only support two tables in inner joins.

   HaveTypes
       Set to true if DBMS supports datatypes (most DBMS will do)

   NeedNullInCreate
       Set to 'NULL' if DBMS requires the NULL keyword when creating tables where fields should
       contains nulls.

   EmptyIsNull
       Set to true if an empty string ('') and NULL is the same for the DBMS.

   LimitOffset
       An function which will be used to create a SQL text for limiting the number of fetched
       rows and selecting the starting row in selects.

Keys that aren't needed anymore

   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.

Supported Drivers

       Currently there are entry for

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

       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)