A description of how to set row timestamp values with Sybase CEP Engine and adapters.
For streams that receive data from external sources (in other words, via adapters), the row timestamp can be set in several different ways:
The adapter may itself set the row timestamp value and send it to the Engine with each row. For example, a stock trade row might include the actual time of the trade taken from the original source of the data as its row timestamp, or the adapter itself may set the row timestamp to the current system time, so that the row timestamp value reflects when the adapter sends the row to the Engine.
One problem that can occur is latency in delivery from the adapter which causes rows to arrive at the Engine late or out of sequence. Sybase CEP has advanced capabilities for handling these situations when data rates are high or when network latency impacts the ability to deliver rows from the adapter to the Server or to the adapter from the data source at precise times.
The row timestamp for a row from an external source may also be set by the Sybase CEP Engine itself. This results in the row timestamp reflecting when the row arrives in the Engine, rather than an external time value. When this approach is used, the row timestamps chosen by the Engine will meet all of Sybase CEP's sequencing and timing requirements, but it may not be possible to synchronize timing in the Engine with the real events that are represented by the data.
For streams that do not receive external data, the row timestamp is always set internally by the Sybase CEP Engine.