Oracle Coherence for C++ API
Release 3.7.1.0

E22845-01

QueryRecorder Class Reference

#include <coherence/util/aggregator/QueryRecorder.hpp>

Inherits Object, PortableObject, and InvocableMap::ParallelAwareAggregator.

List of all members.


Detailed Description

This parallel aggregator used to produce a QueryRecord object that contains an estimated or actual cost of the query execution for a given filter.

For example, the following code will return a QueryPlan, containing the estimated query cost and corresponding execution steps.

   QueryRecorder::Handle hAgent  = QueryRecorder::create(QueryRecorder::explain);
   QueryRecord::View     vRecord = cast<QueryRecord::View>(hCache->aggregate(filter, agent));
 

Since:
Coherence 3.7.1
Author:
tb 2011.05.26
 

Public Types

enum  RecordType { explain, trace }
 RecordType enum specifies whether the QueryRecorder should be used to produce a QueryRecord object that contains an estimated or an actual cost of the query execution. More...
typedef spec::Handle Handle
 QueryRecorder Handle definition.
typedef spec::View View
 QueryRecorder View definition.
typedef spec::Holder Holder
 QueryRecorder Holder definition.

Public Member Functions

 QueryRecorder (QueryRecorder::RecordType type)
 Construct a QueryRecorder.
virtual
QueryRecorder::RecordType 
getType () const
 Get the record type for this query recorder.
virtual Object::Holder aggregate (Set::View vSetEntries)
 Process a set of InvocableMap::Entry objects in order to produce an aggregated result.

Parameters:
 vSetEntries a Set of read-only InvocableMap::Entry objects to aggregate
Returns:
the aggregated result from processing the entries
virtual
InvocableMap::EntryAggregator::Handle 
getParallelAggregator ()
 Get an aggregator that can take the place of this aggregator in situations in which the InvocableMap can aggregate in parallel.

Returns:
the aggregator that will be run in parallel
virtual Object::Holder aggregateResults (Collection::View vCollResults)
 Aggregate the results of the parallel aggregations.

Parameters:
 vCollResults the parallel aggregation results
Returns:
the aggregation of the parallel aggregation results
virtual void readExternal (PofReader::Handle hIn)
  
virtual void writeExternal (PofWriter::Handle hOut) const
  

Protected Member Functions

 QueryRecorder ()
 Default constructor (necessary for the PortableObject interface).

Protected Attributes

enum RecordType m_type
 This aggregator record type.

Member Enumeration Documentation

enum RecordType

RecordType enum specifies whether the QueryRecorder should be used to produce a QueryRecord object that contains an estimated or an actual cost of the query execution.

Enumerator:
explain  Produce a QueryRecord object that contains an estimated cost of the query execution.
trace  Produce a QueryRecord object that contains the actual cost of the query execution.


Constructor & Destructor Documentation

QueryRecorder ( QueryRecorder::RecordType  type  )   

Construct a QueryRecorder.

Parameters:
 type the type for this aggregator


Member Function Documentation

virtual QueryRecorder::RecordType getType (  )  const [virtual]

Get the record type for this query recorder.

Returns:
the record type enum


The documentation for this class was generated from the following file:
Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.