NAME

Jifty::DBI::Handle::Pg - A Postgres specific Handle object

SYNOPSIS

DESCRIPTION

This module provides a subclass of Jifty::DBI::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, returns a database handle.

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

id_sequence_name TABLE

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

blob_params column_NAME column_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 Postgres implementation only supports BYTEA types.

apply_limits STATEMENTREF ROWS_PER_PAGE FIRST_ROW

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

_make_clause_case_insensitive column operator VALUE

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

Returns a column operator value triple.

distinct_query STATEMENTREF

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

canonical_true

The canonical true value in Postgres is 't'.

canonical_false

The canonical false value in Postgres is 'f'.

SEE ALSO

Jifty::DBI, Jifty::DBI::Handle, DBD::Pg