Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dbix::compat(3pm) [debian man page]

Compat(3pm)						User Contributed Perl Documentation					       Compat(3pm)

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) perl v5.10.1 2010-03-05 Compat(3pm)

Check Out this Related Man Page

DBIx::Class::Storage::DBI::NoBindVars(3pm)		User Contributed Perl Documentation		DBIx::Class::Storage::DBI::NoBindVars(3pm)

NAME
DBIx::Class::Storage::DBI::NoBindVars - Sometime DBDs have poor to no support for bind variables DESCRIPTION
This class allows queries to work when the DBD or underlying library does not support the usual "?" placeholders, or at least doesn't support them very well, as is the case with DBD::Sybase METHODS
connect_info We can't cache very effectively without bind variables, so force the "disable_sth_caching" setting to be turned on when the connect info is set. _prep_for_execute Manually subs in the values for the usual "?" placeholders. interpolate_unquoted This method is called by "_prep_for_execute" for every column in order to determine if its value should be quoted or not. The arguments are the current column data type and the actual bind value. The return value is interpreted as: true - do not quote, false - do quote. You should override this in you Storage::DBI::<database> subclass, if your RDBMS does not like quotes around certain datatypes (e.g. Sybase and integer columns). The default method returns false, except for integer datatypes paired with values containing nothing but digits. WARNING!!! Always validate that the bind-value is valid for the current datatype. Otherwise you may very well open the door to SQL injection attacks. _prep_interpolated_value Given a datatype and the value to be inserted directly into a SQL query, returns the necessary string to represent that value (by e.g. adding a '$' sign) AUTHORS
See "CONTRIBUTORS" in DBIx::Class LICENSE
You may distribute this code under the same terms as Perl itself. perl v5.14.2 2011-05-10 DBIx::Class::Storage::DBI::NoBindVars(3pm)
Man Page