NAME

DBIx::SearchBuilder::Handle::Pg - A Postgres specific Handle object

SYNOPSIS

DESCRIPTION

This module provides a subclass of DBIx::SearchBuilder::Handle that compensates for some of the idiosyncrasies of Postgres.

METHODS

Connect

Connect takes a hashref and passes it off to SUPER::Connect; Forces the timezone to GMT it returns a database handle.

BuildDSN

Extend "BuildDNS" in DBIx::SearchBuilder::Handle to force client_encoding to be UTF-8, so that character strings can be safely passed to, and retrieved from, the database. See "Encoding" in DBD::Pg.

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.

In case of insert failure, returns a Class::ReturnValue object preloaded with error info.

InsertQueryString

Postgres sepcific overriding method for "InsertQueryString" in DBIx::SearchBuilder::Handle.

IdSequenceName TABLE

Takes a TABLE name and returns the name of the sequence of the primary key for that table.

BinarySafeBLOBs

Return undef, as no current version of postgres supports binary-safe blobs

ApplyLimits STATEMENTREF ROWS_PER_PAGE FIRST_ROW

takes an SQL SELECT statement and massages it to return ROWS_PER_PAGE starting with FIRST_ROW;

_MakeClauseCaseInsensitive FIELD OPERATOR VALUE

Takes a field, operator and value. performs the magic necessary to make your database treat this clause as case insensitive.

Returns a FIELD OPERATOR VALUE triple.

DistinctQuery STATEMENTREF

takes an incomplete SQL SELECT statement and massages it to return a DISTINCT result set.

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.

In Pg time and timestamp data types may be "with time zone" or "without time zone". So if Field argument is timestamp "with time zone" then From argument is not required and is useless. Otherwise From argument identifies time zone of the Field argument that is "without time zone".

For consistency with other DBs use timestamp columns without time zones and provide From argument.