NAME
Protocol::CassandraCQL::Result
- stores the result of a Cassandra CQL query
DESCRIPTION
Objects in this class store the result of a direct query or executed prepared statement, as returned by an OPCODE_RESULT
giving RESULT_ROWS
. It allows convenient access to the decoded row data.
As a subclass of Protocol::CassandraCQL::ColumnMeta it also provides information about column metadata, such as column names and types.
CONSTRUCTORS
$result = Protocol::CassandraCQL::Result->from_frame( $frame, $version )
Returns a new result object initialised from the given OPCODE_RESULT
/ RESULT_ROWS
message frame and CQL version number. (Version will default to 1 if not supplied, but this may become a required parameter in a future version).
$result = Protocol::CassandraCQL::Result->new( %args )
Returns a new result object initialised directly from the given row data. This constructor is intended for use by unit test scripts, to create results directly from mocked connection objects or similar.
In addition to the arguments taken by the superclass constructor, it takes the following named arguments:
$result->set_metadata( $meta )
If the result was constructed from a message frame with the ROWS_NO_METADATA
flag set, it would not have embedded metadata allowing the object to correctly decode the encoded byte strings. This method allows the caller to provide the metadata as previously returned by the OPCODE_PREPARE
operation that prepared the query initially, enabling its decoding.
If the result object lacks this metadata, then before this method is called only the rows
and columns
methods may be used to return the general shape of the data; any of the row data methods will throw exceptions until the metadata is set.
$n = $result->rows
Returns the number of rows
$data = $result->row_array( $idx )
Returns the row's data decoded, as an ARRAY reference
$data = $result->row_hash( $idx )
Returns the row's data decoded, as a HASH reference mapping column short names to values.
@data = $result->rows_array
Returns a list of all the rows' data decoded as ARRAY references.
@data = $result->rows_hash
Returns a list of all the rows' data decoded as HASH references.
$map = $result->rowmap_array( $keyidx )
Returns a HASH reference mapping keys to rows deccoded as ARRAY references. $keyidx
gives the column index of the value to use as the key in the returned map.
$map = $result->rowmap_hash( $keyname )
Returns a HASH reference mapping keys to rows decoded as HASH references. $keyname
gives the column shortname of the value to use as the key in the returned map.
SPONSORS
This code was paid for by
Perceptyx http://www.perceptyx.com/
Shadowcat Systems http://www.shadow.cat
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>