table of contents
DBIx::SearchBuilder::Handle::Oracle(3pm) | User Contributed Perl Documentation | DBIx::SearchBuilder::Handle::Oracle(3pm) |
NAME¶
DBIx::SearchBuilder::Handle::Oracle - An oracle specific Handle object
SYNOPSIS¶
DESCRIPTION¶
This module provides a subclass of DBIx::SearchBuilder::Handle that compensates for some of the idiosyncrasies of Oracle.
METHODS¶
Connect PARAMHASH: Driver, Database, Host, User, Password¶
Takes a paramhash and connects to your DBI datasource.
BuildDSN¶
Customized version of "BuildDSN" in DBIx::SearchBuilder::Handle method.
Takes additional argument SID. Database argument used unless SID provided. Two forms of DSN are generated depending on whether Host defined or not:
dbi:Oracle:sid=<SID>;host=...[;port=...] dbi:Oracle:<SID>
Read details in documentation for DBD::Oracle module.
Insert¶
Takes a table name as the first argument and assumes that the rest of the arguments are an array of key-value pairs to be inserted.
InsertFromSelect¶
Customization of "InsertFromSelect" in DBIx::SearchBuilder::Handle.
Unlike other DBs Oracle needs:
- id generated from sequences for every new record.
- query wrapping in parens.
NOTE that on Oracle there is a limitation on the query. Every column in the result should have unique name or alias, for example the following query would generate "ORA-00918: column ambiguously defined" error:
SELECT g.id, u.id FROM ...
Solve with aliases:
SELECT g.id AS group_id, u.id AS user_id FROM ...
KnowsBLOBs¶
Returns 1 if the current database supports inserts of BLOBs automatically. Returns undef if the current database must be informed of BLOBs for inserts.
BLOBParams FIELD_NAME FIELD_TYPE¶
Returns a hash ref for the bind_param call to identify BLOB types used by the current database for a particular column type. The current Oracle implementation only supports ORA_CLOB types (112).
ApplyLimits STATEMENTREF ROWS_PER_PAGE FIRST_ROW¶
takes an SQL SELECT statement and massages it to return ROWS_PER_PAGE starting with FIRST_ROW;
DistinctQuery STATEMENTREF¶
takes an incomplete SQL SELECT statement and massages it to return a DISTINCT result set.
BinarySafeBLOBs¶
Return undef, as Oracle doesn't support binary-safe CLOBS
DatabaseVersion¶
Returns value of ORA_OCI constant, see "Constants" in DBI.
SimpleDateTimeFunctions¶
Returns hash reference with specific date time functions of this database for "DateTimeFunction" in DBIx::SearchBuilder::Handle.
ConvertTimezoneFunction¶
Custom implementation of "ConvertTimezoneFunction" in DBIx::SearchBuilder::Handle.
Use the following query to get list of timezones:
SELECT tzname FROM v$timezone_names;
Read Oracle's docs about timezone files:
http://download.oracle.com/docs/cd/B14117_01/server.101/b10749/ch4datetime.htm#i1006667
2024-05-15 | perl v5.38.2 |