NAME

DBIx::SearchBuilder::Handle - Perl extension which is a generic DBI handle

SYNOPSIS

  use DBIx::SearchBuilder::Handle;

 my $Handle = DBIx::SearchBuilder::Handle->new();
 $Handle->Connect( Driver => 'mysql',
		   Database => 'dbname',
		   Host => 'hostname',
		   User => 'dbuser',
		   Password => 'dbpassword');
 
 

DESCRIPTION

Jesse's a slacker.

Blah blah blah.

AUTHOR

Jesse Vincent, jesse@fsck.com

new

Generic constructor

Insert $TABLE_NAME @KEY_VALUE_PAIRS

Takes a table name and a set of key-value pairs in an array. splits the key value pairs, constructs an INSERT statement and performs the insert. Returns the row_id of this row.

Connect PARAMHASH: Driver, Database, Host, User, Password

Takes a paramhash and connects to your DBI datasource.

BuildDSN PARAMHASH

Takes a bunch of parameters:

Required: Driver, Database, Optional: Host, Port and RequireSSL

Builds a DSN suitable for a DBI connection

DSN

Returns the DSN for this database connection.

RaiseError [MODE]

Turns on the Database Handle's RaiseError attribute.

PrintError [MODE]

Turns on the Database Handle's PrintError attribute.

AutoCommit [MODE]

Turns on the Database Handle's AutoCommit attribute.

Disconnect

Disconnect from your DBI datasource

dbh [HANDLE]

Return the current DBI handle. If we're handed a parameter, make the database handle that.

UpdateRecordValue

Takes a hash with fields: Table, Column, Value PrimaryKeys, and IsSQLFunction. Table, and Column should be obvious, Value is where you set the new value you want the column to have. The primary_keys field should be the lvalue of DBIx::SearchBuilder::Record::PrimaryKeys(). Finally IsSQLFunction is set when the Value is a SQL function. For example, you might have ('Value'=>'PASSWORD(string)'), by setting IsSQLFunction that string will be inserted into the query directly rather then as a binding.

UpdateTableValue TABLE COLUMN NEW_VALUE RECORD_ID IS_SQL

Update column COLUMN of table TABLE where the record id = RECORD_ID. if IS_SQL is set, don\'t quote the NEW_VALUE

SimpleQuery QUERY_STRING, [ BIND_VALUE, ... ]

Execute the SQL string specified in QUERY_STRING

FetchResult QUERY, [ BIND_VALUE, ... ]

Takes a SELECT query as a string, along with an array of BIND_VALUEs If the select succeeds, returns the first row as an array. Otherwise, returns a Class::ResturnValue object with the failure loaded up.

BinarySafeBLOBs

Returns 1 if the current database supports BLOBs with embedded nulls. Returns undef if the current database doesn't support BLOBs with embedded nulls

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.

DatabaseVersion

Returns the database's version. The base implementation uses a "SELECT VERSION"

CaseSensitive

Returns 1 if the current database's searches are case sensitive by default Returns undef otherwise

BeginTransaction

Tells DBIx::SearchBuilder to begin a new SQL transaction. This will temporarily suspend Autocommit mode.

Emulates nested transactions, by keeping a transaction stack depth.

Commit

Tells DBIx::SearchBuilder to commit the current SQL transaction. This will turn Autocommit mode back on.

Rollback

Tells DBIx::SearchBuilder to abort the current SQL transaction. This will turn Autocommit mode back on.

ApplyLimits STATEMENTREF ROWS_PER_PAGE FIRST_ROW

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

Join { Paramhash }

Takes a paramhash of everything Searchbuildler::Record does + a parameter called 'SearchBuilder that contains a ref to a SearchBuilder object'. This performs the join.

DistinctQuery STATEMENTREF

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

SEE ALSO

perl(1), DBIx::SearchBuilder