IQueryPersistenceService Interface |
Namespace: SanteDB.Core.Services
The IQueryPersistenceService type exposes the following members.
Name | Description | |
---|---|---|
ServiceName |
Gets the service name
(Inherited from IServiceImplementation.) |
Name | Description | |
---|---|---|
AddResults |
Adds more results to an already registered stateful query
| |
FindQueryId |
Locate the stateful query identifier using the tag which was attached to the query
| |
GetQueryResults |
Retrieves the result keys located between offset and offset+count in the stateful query provider
| |
GetQueryTag |
Retrieves the query tag stored when the query was registered, for the specified queryId | |
IsRegistered |
Returns true if the query identifier has been registered
| |
QueryResultTotalQuantity |
Count the number of query results which have been registered for queryId | |
RegisterQuerySet |
Registers a new query result set with the stateful query provider
| |
SetQueryTag |
Adds or changes the query tag on queryId to value |
When implementing query on a shared infrastructure such as the SanteDB iCDR or dCDR, it is important that consistent result sets be returned. This is important not only for user interfaces, but is vital to consistent synchronization across devices.
There are several reasons we keep stateful query result sets in SanteDB:
Implementers of this service should ensure that whatever technology they are using to store queries have the capability of expiration (i.e. queries are not stateful indefinitely), support the rapid read and update of result sets, and are cabable of being aborted/abandoned.