The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 )

Returns a new result object initialised from the given OPCODE_RESULT / RESULT_ROWS message frame.

$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:

rows => ARRAY[ARRAY]

An ARRAY reference containing ARRAY references of the individual rows' data.

$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

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>