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