A MDX query on a given server.
export interface MdxQuery
|addListener||Add a listener that will be called when the server send an update for this query.|
|dispose||Stop the query and unregister all the internal listeners.|
|isRealTime||Check whether the query is currently running continuously.|
|refreshPeriodically||Start the query in refresh periodically mode, and publish results to the feed|
|setContext||Change the query context values and restart the query if currently running.|
|setMdx||Change the query MDX and restart the query if currently running.|
|start||Start the query and publish the results to the feed.|
|stop||Stop the continuous query.|
|toggle||Toggle the query state: start it if stopped and stop it if started.|
|update||Change the query MDX and/or context values and/or updateMode atomically. If the query is currently running, it will be stopped and started again with the new parameters.|
A MdxQuery has two ids: clientId and serverId:
clientId: a unique id among all the queries in this loaded ActiveUI application. Used to find again a query in the queries pool. This id is assigned when the query is created and never changes. This is the same ID we will use to match the server 'streamId' notion.
serverId: a id that changes every time the mdx or the context values of this query change. This is the id we send to the server so that we can match WebSocket queries updates with their corresponding query state (especially drop updates that we receive just after having changed the MDX for instance because they are not consistent with the cellSet we expect to have with this MDX). This id is also unique among all running queries in this loaded ActiveUI application.