NAME
Net::Async::CassandraCQL::Query
- a Cassandra CQL prepared query
DESCRIPTION
Prepared query objects are returned by the prepare
of Net::Async::CassandraCQL to represent a prepared query in the server. They can be executed multiple times, if required, by passing the values of the placeholders to the execute
method.
For backward compatibility, as this object class is no longer a subclass of Protocol::CassandraCQL::ColumnMeta, the following methods will be directed to the params_meta
instance.
columns column_name column_shortname column_type find_column
encode_data decode_data
However, most of them are available more directly as the param*
methods. Code should not rely on these temporary redirects remaining in a future version.
METHODS
$id = $query->id
Returns the query ID.
$cql = $query->cql
Returns the original query string used to prepare the query.
$meta = $query->params_meta
Returns a Protocol::CassandraCQL::ColumnMeta instance with the metadata about the bind parameters.
$n_params = $query->params
$name = $query->param_name( $idx )
( $keyspace, $table, $column ) = $query->param_name( $idx )
$name = $query->param_shortname( $idx )
$type = $query->param_type( $idx )
Redirections to the appropriately named method on the params_meta
object.
$meta = $query->result_meta
Returns a Protocol::CassandraCQL::ColumnMeta instance with the metadata about the query result. This will only be defined on connections with a cql_version
of 2 or above.
$query->execute( $data, $consistency ) ==> ( $type, $result )
Executes the query on the Cassandra connection object that created it, returning a future yielding the result the same way as the query
or execute
methods.
The contents of the $data
reference will be encoded according to the types given in the underlying column metadata. $data
may be given as a positional ARRAY reference, or a named HASH reference where the keys give column names.
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>