www.espertech.comDocumentation
Output rate limiting provides output events to your application in regular intervals. Between intervals, the runtime may use a buffer to hold data until the output condition is reached, as described below. If your application has high-volume streams, you may need to be mindful of the memory needs for buffers especially if the output condition triggers infrequently.
The output
clause with the snapshot
keyword does not require a buffer for any type of statement.
The output
clause with the first
keyword does not require a buffer for any type of statement.
We use the term change set to describe all insert and remove stream events that occur since the last triggering of the output condition.
You can override the default behavior for some types of statements by specifying a hint.
Please see Section 2.15, “Basic Aggregated Statement Types” for information on the types of statements discussed below.
For statements that define output last
the runtime retains only the first remove stream event and the last insert stream event, both matching the having
-clause, if present,
to compute insert and remove stream output when the output condition triggers.
Without an order-by clause:
Upon arrival of any row the runtime applies the having
-clause and retains only matching events, or retains all events if there is no having
-clause.
Upon triggering of the output condition the runtime computes the insert and remove stream output events according to the select
-clause for output.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of the first row since the last triggering of the output condition the runtime computes the remove stream output event according to the select
-clause
for later output (when applicable).
Upon triggering of the output condition the runtime computes the insert stream output event according to the select
-clause for output.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of rows the runtime applies the having
-clause and computes the insert and remove stream output event according to the select
-clause
for later output (when applicable).
Upon triggering of the output condition the runtime outputs the insert and remove stream output events.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of the first row since the last triggering of the output condition the runtime computes the insert and remove stream output event according to the
having
-clause (if present) and the select
-clause
for later output (when applicable), retaining only the last computed insert and remove stream output event.
Upon triggering of the output condition the runtime outputs the pre-computed last insert stream and remove stream output event.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of rows the runtime computes the insert and remove stream output events according to the having
-clause (if present) and
the select
-clause for later output, retaining only the computed insert and remove stream output events.
Upon triggering of the output condition the runtime outputs the retained output events.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of the first row for a given group since the last triggering of the output condition the runtime computes the remove stream output event for that group
according to the select
-clause
for later output (when applicable), and also retains a single insert stream event per group.
Upon triggering of the output condition the runtime uses the retained insert stream events per group to compute output events according to the select
-clause.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
The runtime retains, for each group, a row to represent the group.
Upon arrival of rows the runtime computes the remove stream output events according to the having
-clause (if present) and
the select
-clause for later output.
Upon triggering of the output condition the runtime computes the insert stream output events according to the having
-clause (if present) and
the select
-clause for output, for each group.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
Upon arrival of the first row for a given group since the last triggering of the output condition the runtime computes the insert and remove stream output event for that group
according to the select
-clause
for later output (when applicable), and retains a last insert and remove stream event per group.
Upon triggering of the output condition the runtime outputs the retained insert and remove stream output events per group.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.
Without an order-by clause:
The runtime retains, for each group, a row to represent the group.
Upon arrival of rows the runtime computes the insert and remove stream output events according to the having
-clause (if present) and
the select
-clause for later output.
Upon triggering of the output condition the runtime computes insert stream output events according to the having
-clause (if present) and
the select
-clause for output for each group that does not have output events yet, and outputs all events.
With an order-by clause or when your EPL specifies the @Hint('disable_outputlimit_opt')
hint:
The runtime retains the change set and computes output from the change set at the time the output condition triggers, after which it discards the change set.