Pivotal GemFire Native Client Cache Reference  9.0.6
gemfire::QueryService Class Referenceabstract

QueryService is the class obtained from a Cache. More...

Inherits gemfire::SharedBase.

Public Member Functions

virtual void closeCqs ()=0
 Close all CQs, and release resources associated with executing CQs. More...
 
virtual void executeCqs ()=0
 Executes all the cqs on this client. More...
 
virtual CacheableArrayListPtr getAllDurableCqsFromServer ()=0
 Gets all the durable CQs registered by this client. More...
 
virtual CqQueryPtr getCq (const char *name)=0
 Retrieve a CqQuery by name. More...
 
virtual void getCqs (VectorOfCqQuery &vec)=0
 Retrieve all registered CQs. More...
 
virtual CqServiceStatisticsPtr getCqServiceStatistics ()=0
 Get statistics information for all CQs. More...
 
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. More...
 
virtual CqQueryPtr newCq (const char *querystr, CqAttributesPtr &cqAttr, bool isDurable=false)=0
 Constructs a new named continuous query, represented by an instance of CqQuery. More...
 
virtual QueryPtr newQuery (const char *querystr)=0
 Get a new Query with the specified query string. More...
 
void preserveSB () const
 Atomically increment reference count. More...
 
int32_t refCount ()
 
void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. More...
 
virtual void stopCqs ()=0
 Stops all the cqs on this client. More...
 

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.

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 CacheableArrayListPtr gemfire::QueryService::getAllDurableCqsFromServer ( )
pure virtual

Gets all the durable CQs registered by this client.

Returns
List of names of registered durable CQs, empty list if no durable cqs.
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 *  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
cqNamethe String name for this query
queryStringthe OQL query
cqAttributesthe CqAttributes
isDurabletrue if the CQ is durable
Returns
the newly created CqQuery object
Exceptions
CqExistsExceptionif a CQ by this name already exists on this client
IllegalArgumentExceptionif queryString is null, or cqAttr is NULLPTR
IllegalStateExceptionif this method is called from a cache server
QueryInvalidExceptionif there is a syntax error in the query
CqExceptionif failed to create cq, failure during creating managing cq metadata info.
CqInvalidExceptionif 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 *  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
queryStringthe OQL query
cqAttributesthe CqAttributes
isDurabletrue if the CQ is durable
Returns
the newly created CqQuery object
Exceptions
CqExistsExceptionif a CQ by this name already exists on this client
IllegalArgumentExceptionif queryString is null, or cqAttr is NULLPTR
IllegalStateExceptionif this method is called from a cache server
QueryInvalidExceptionif there is a syntax error in the query
CqExceptionif failed to create cq, failure during creating managing cq metadata info.
CqInvalidExceptionif 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
querystrThe 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 ( )
inlineinherited
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