gemfire::QueryService Class Reference

Inherits gemfire::SharedBase.


Detailed Description

QueryService is the class obtained from a Cache.

A Query is created from a QueryService and executed on the server returning a SelectResults which can be either a ResultSet or a StructSet.

Public Member Functions

virtual void closeCqs ()=0
 Close all CQs, and release resources associated with executing CQs.
virtual void executeCqs ()=0
 Executes all the cqs on this client.
virtual CqQueryPtr getCq (const char *name)=0
 Retrieve a CqQuery by name.
virtual void getCqs (VectorOfCqQuery &vec)=0
 Retrieve all registered CQs.
virtual
CqServiceStatisticsPtr 
getCqServiceStatistics ()=0
 Get statistics information for all CQs.
virtual CqQueryPtr newCq (const char *querystr, CqAttributesPtr &cqAttr, bool isDurable=false)=0
 Constructs a new named continuous query, represented by an instance of CqQuery.
virtual CqQueryPtr newCq (const char *name, const char *querystr, CqAttributesPtr &cqAttr, bool isDurable=false)=0
 Constructs a new named continuous query, represented by an instance of CqQuery.
virtual QueryPtr newQuery (const char *querystr)=0
 Get a new Query with the specified query string.
void preserveSB () const
 Atomically increment reference count.
int32_t refCount ()
 
Returns:
the reference count

void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
virtual void stopCqs ()=0
 Stops all the cqs on this client.


Member Function Documentation

virtual void gemfire::QueryService::closeCqs (  )  [pure virtual]

Close all CQs, and release resources associated with executing CQs.

virtual void gemfire::QueryService::executeCqs (  )  [pure virtual]

Executes all the cqs on this client.

virtual CqQueryPtr gemfire::QueryService::getCq ( const char *  name  )  [pure virtual]

Retrieve a CqQuery by name.

Returns:
the CqQuery or NULLPTR if not found

virtual void gemfire::QueryService::getCqs ( VectorOfCqQuery vec  )  [pure virtual]

Retrieve all registered CQs.

virtual CqServiceStatisticsPtr gemfire::QueryService::getCqServiceStatistics (  )  [pure virtual]

Get statistics information for all CQs.

Returns:
the CqServiceStatistics

virtual CqQueryPtr gemfire::QueryService::newCq ( const char *  querystr,
CqAttributesPtr cqAttr,
bool  isDurable = false 
) [pure virtual]

Constructs a new named continuous query, represented by an instance of CqQuery.

The CqQuery is not executed, however, until the execute method is invoked on the CqQuery. The name of the query will be used to identify this query in statistics archival.

Parameters:
queryString the OQL query
cqAttributes the CqAttributes
isDurable true if the CQ is durable
Returns:
the newly created CqQuery object
Exceptions:
CqExistsException if a CQ by this name already exists on this client
IllegalArgumentException if queryString is null, or cqAttr is NULLPTR
IllegalStateException if this method is called from a cache server
QueryInvalidException if there is a syntax error in the query
CqException if failed to create cq, failure during creating managing cq metadata info.
CqInvalidException if the query doesnot meet the CQ constraints. E.g.: Query string should refer only one region, join not supported. The query must be a SELECT statement. DISTINCT queries are not supported. Projections are not supported. Only one iterator in the FROM clause is supported, and it must be a region path. Bind parameters in the query are not supported for the initial release.

virtual CqQueryPtr gemfire::QueryService::newCq ( const char *  name,
const char *  querystr,
CqAttributesPtr cqAttr,
bool  isDurable = false 
) [pure virtual]

Constructs a new named continuous query, represented by an instance of CqQuery.

The CqQuery is not executed, however, until the execute method is invoked on the CqQuery. The name of the query will be used to identify this query in statistics archival.

Parameters:
cqName the String name for this query
queryString the OQL query
cqAttributes the CqAttributes
isDurable true if the CQ is durable
Returns:
the newly created CqQuery object
Exceptions:
CqExistsException if a CQ by this name already exists on this client
IllegalArgumentException if queryString is null, or cqAttr is NULLPTR
IllegalStateException if this method is called from a cache server
QueryInvalidException if there is a syntax error in the query
CqException if failed to create cq, failure during creating managing cq metadata info.
CqInvalidException if the query doesnot meet the CQ constraints. E.g.: Query string should refer only one region, join not supported. The query must be a SELECT statement. DISTINCT queries are not supported. Projections are not supported. Only one iterator in the FROM clause is supported, and it must be a region path. Bind parameters in the query are not supported for the initial release.

virtual QueryPtr gemfire::QueryService::newQuery ( const char *  querystr  )  [pure virtual]

Get a new Query with the specified query string.

Parameters:
querystr The query string with which to create a new Query.
Returns:
A smart pointer to the Query.

void gemfire::SharedBase::preserveSB (  )  const [inherited]

Atomically increment reference count.

int32_t gemfire::SharedBase::refCount (  )  [inline, inherited]

Returns:
the reference count

void gemfire::SharedBase::releaseSB (  )  const [inherited]

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

virtual void gemfire::QueryService::stopCqs (  )  [pure virtual]

Stops all the cqs on this client.


GemFire C++ Cache API Documentation