gemfire::Query Class Reference

Inherits gemfire::SharedBase.


Detailed Description

A Query is obtained from a QueryService which in turn is obtained from the Cache.

This can be executed to return SelectResults which can be either a ResultSet or a StructSet.

This class is intentionally not thread-safe. So multiple threads should not operate on the same Query object concurrently rather should have their own Query objects.

Public Member Functions

virtual void compile ()=0
 Compile the Query - client side query compilation is not supported.
virtual SelectResultsPtr execute (CacheableVectorPtr paramList, uint32_t timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
 Executes the parameterized OQL Query on the cache server and returns the results.
virtual SelectResultsPtr execute (uint32_t timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
 Executes the OQL Query on the cache server and returns the results.
virtual const char * getQueryString () const =0
 Get the query string provided when a new Query was created from a QueryService.
virtual bool isCompiled ()=0
 Check whether the Query is compiled - client side query compilation is not supported.
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.


Member Function Documentation

virtual void gemfire::Query::compile (  )  [pure virtual]

Compile the Query - client side query compilation is not supported.

Exceptions:
UnsupportedOperationException because this is not currently supported.

virtual SelectResultsPtr gemfire::Query::execute ( CacheableVectorPtr  paramList,
uint32_t  timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT 
) [pure virtual]

Executes the parameterized OQL Query on the cache server and returns the results.

Parameters:
paramList The query parameters list
timeout The time (in seconds) to wait for query response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483.
Exceptions:
IllegalArgumentException if timeout parameter is greater than 2^31/1000.
QueryException if some query error occurred at the server.
IllegalStateException if some error occurred.
NotConnectedException if no java cache server is available. For pools configured with locators, if no locators are available, the cause of NotConnectedException is set to NoAvailableLocatorsException. returns A smart pointer to the SelectResults which can either be a ResultSet or a StructSet.

virtual SelectResultsPtr gemfire::Query::execute ( uint32_t  timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT  )  [pure virtual]

Executes the OQL Query on the cache server and returns the results.

Parameters:
timeout The time (in seconds) to wait for query response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483.
Exceptions:
IllegalArgumentException if timeout parameter is greater than 2^31/1000.
QueryException if some query error occurred at the server.
IllegalStateException if some error occurred.
NotConnectedException if no java cache server is available. For pools configured with locators, if no locators are available, the cause of NotConnectedException is set to NoAvailableLocatorsException.
Returns:
A smart pointer to the SelectResults which can either be a ResultSet or a StructSet.

virtual const char* gemfire::Query::getQueryString (  )  const [pure virtual]

Get the query string provided when a new Query was created from a QueryService.

Returns:
The query string.

virtual bool gemfire::Query::isCompiled (  )  [pure virtual]

Check whether the Query is compiled - client side query compilation is not supported.

Exceptions:
UnsupportedOperationException because this is not currently supported.

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.


GemFire C++ Cache API Documentation