Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove InitialQuery

...

  • Cache update listener: while query is active, client receives events. Server → Client notification mechanism already exists for that (see IEP-42 Thin client: compute support).
  • (Optional) Remote filter
  • (Optional) Initial query: Sql or Scan

Remote Filter is a BinaryObject:

...

ContinuousQueryWithTransformer is out of scope: it is a separate class, and should have a separate client operation.

Initial Query functionality is excluded intentionally, it does not bring value due to lack of guarantees - see dev list threads linked below.

Operation codes

Name

Code

OP_QUERY_CONTINUOUS2006

OP_QUERY_CONTINUOUS_EVENT_NOTIFICATION

2007

...

filterPlatform (when filter is not null)int

when initialQueryType == 2 (SQL)

Request
intcacheId
byteflags: standard cache flags, see ClientCacheRequest. Only KEEP_BINARY is applicable to Continuous Query. When KEEP_BINARY is set, the filter should receive key/val in binary form.
intbufferSize (see AbstractContinuousQuery, default 1)
longtimeInterval (see AbstractContinuousQuery, default 0)
boolincludeExpired (see AbstractContinuousQuery, default false)
BinaryObjectfilter
bytefilterPlatform (see ClientCacheScanQueryRequest, 1= Java, 2 = .NET) (when filter is not null)
byteinitialQueryType (0 = NONE, 1 = SQL, 2 = SCAN)
initialQuery (when initialQueryType > 0)when initialQueryType == 1 (SCAN)
BinaryObjectfilter
byte
intpageSize
partition (-1 for no partition)
boollocal
stringschema
intpageSize
stringsql
intargument count
n * Objectarguments
booldistributed joins
boollocal
boolenforce join order
boolcolocated
boollazy
longtimeout, in milliseconds


column names (when initial query is SQL)
Response
longcontinuousQueryId - used to retrieve initial query data and stop the query with OP_RESOURCE_CLOSE
intcolumnCount (when initial query is SQL)
n * string

Resulting continuousQueryId should be used to stop the query with OP_RESOURCE_CLOSE and (when applicable) retrieve initial query data with OP_QUERY_SCAN_CURSOR_GET_PAGE or OP_QUERY_SQL_CURSOR_GET_PAGE, respectively.

...