| POE-Component-LaDBI documentation | view source | Contained in the POE-Component-LaDBI distribution. |
POE::Component::LaDBI::Response - Class encapsulating responses from POE::Component::LaDBI::Engine.
use POE::Component::LaDBI::Response;
$resp = POE::Component::LaDBI::Response->new
(Code => 'OK',
HandleId => $sth_id,
Id => $request_id,
DataType => 'TABLE',
Data => $fetchall_arrayref_ret);
$resp->code;
$resp->handle_id;
$resp->id;
$resp->datatype;
$resp->data;
$resp->id;
$resp->new()Args:
For the keys, capitalization does not matter. Internally the keys are lowercased.
CodeString identifier representing the error result of the request.
Valid Code values are:
OKThe POE::Component::LaDBI::Request succeeded as far as
POE::Component::LaDBI::Engine is concerned.
FAILEDThe POE::Component::LaDBI::Request failed. DataType will be set to
either ERROR or EXCEPTION.
INVALID_HANDLE_IDThe POE::Component::LaDBI::Engine instance does not have a record of the
$request-handle_id>.
IdThis is the unique cookie from the POE::Component::LaDBI::Request
($req-id>) this POE::Component::LaDBI::Response object corresponds to.
There is a one for one relationship between requests and responses.
DataTypeThe type of data returned in Data. If you are constucting a
POE::Component::LaDBI::Response object you must supply this field.
However, if you are just useing the POE::Component::LaDBI::Response object
returned from POE::Component::LaDBI::Engine::request() you can usually
ignore this field. This is because all requests have a fixed and known
response data type.
TABLEData is an array ref of array refs to scalars.
Data = [ [row0col0, row0col1, ...],
[row1col0, row1col1, ...],
...
]
NAMED_TABLEThis one is odd. See the description of selectall_hashref() in DBI.
For *_hashref() calls in DBI you have to provide the database table field
which will be the hash key into this hash table. The values corresponding
to each key is a hash of the rows returned from the select or fetch. I did
not invent this and do not quite understand why.
Data = {
row0colX_val => {col0_name => row0_val, col1_name => row0_val, ...},
row1colX_val => {col0_name => row1_val, col1_name => row1_val, ...},
...
}
ROWData is an array ref of scalars.
Data = [ elt0, elt1, ... ]
NAMED_ROWData is an hash ref containing name-value pairs of each data item in the row; the name is the column name, the value is the column value.
Data = { col0_name => elt0, col1_name => elt1, ... }
COLUMNData = [ elt0, elt1, ... ]
RCReturn code is a scalar valude returned from the DBI call.
Data = $rc
RVReturn Value is a scalar value returned from the DBI call.
Data = $rv
SQLThis is the data type for the return value from DBI::quote() call.
Data = $sql_string
ERRORThere was an error for the DBI call. This indicates the DBI call returned
undef. The data value is a hash ref with two keys 'err' and 'errstr'. These
keys corresponed to the DBI calls of the same name: $h->err and
$h->errstr.
Data = { err => $handle->err, errstr => $handle->errstr }
EXCEPTIONThere was an exception thrown from the DBI call. This indicates the DBI
call called a die(). All DBI calles executed by
POE::Component::LaDBI::Engine are wrapped in a eval {} to catch any
exceptions, like when RaiseError is set.
Data = $@
DataThe value of this field is described above. It can be a scalar, hashref, arrayref, or undef.
$resp->code()$resp->id()$resp->datatype()$resp->data()Get/Set accessor funtions to the same data described in the new()
constructor.
None by default.
Sean Egan, <seanegan:bigfoot_com>
perl.
| POE-Component-LaDBI documentation | view source | Contained in the POE-Component-LaDBI distribution. |