The timestamp base enables you to minimize a common problem; if you have multiple input files that are related, the first row in each file may not have the same starting time as the first row in all the other files.
The adapters do not communicate directly with each other, and since the adapters do not control the exact time at which they start running or the order in which the operating system gives them time slices, so if each adapter sends its first row as soon as it can, rows may arrive out of order even though the rows all have correct row timestamps.
Imagine a simple case in which the first row of file F1 has a row timestamp of 2006-02-01 09:00:00 and the first row of file F2 has a row timestamp 5 seconds later, in other words, 2006-02-01 09:00:05. When you start processing the data, you want to tell F2's input adapter to stall 5 seconds relative to F1's input adapter. To tell F2's input adapter to stall, specify the same timestamp base for both adapters. For example, if you tell the adapter reading file F1 to use a timestamp base of 2006-02-01 09:00:00, then that adapter will send its first row (with timestamp 2006-02-01 09:00:00) as soon as it can. If you tell the adapter reading file F2 to use the same timestamp base (2006-02-01 09:00:00), then that adapter will wait approximately 5 seconds before sending its first row, which has a timestamp of 2006-02-01 09:00:05.
The value in the timestamp base field is interpreted according to the setting in the Timestamp column format (for example, "YYYY-MM-DD HH24:MI:SS.FF") if that field is set.
If Set timestamp to current time is set to true, Sybase CEP sets each row's timestamp to the current system clock date and time, even if the row already has a row timestamp. If Set timestamp to current time is set to no, Sybase CEP leaves the row timestamp unchanged.
If the data does not already have a row timestamp, you should set Set timestamp to current time to true.
The Set timestamp to current time property does not control the rate at which rows are sent. You should specify either the Rate or set File has timestamp column to true to control when rows are sent.
It is possible to use existing row timestamp values in the file to control when rows are sent, but then overwrite the row timestamp with the current time. This is useful if you want to send data in the file at the same rate as the data was originally created, but you want the actual row timestamps to be set to the current time. For example, suppose that the original row timestamps of the first 3 rows were:
2006-02-01 09:00:00.000000
2006-02-01 09:00:05.000000
2006-02-01 09:00:10.000000
In other words, the rows timestamps are 5 seconds apart. If you want to process the rows using the current date and time, but still have the rows appear to arrive 5 seconds apart, then specify both File has timestamp column and Set timestamp to current time. Also, do not set the Rate property, since Rate overrides File has timestamp column.
If you also set Timestamp base in addition to setting Set timestamp to current time to true and File has timestamp column to true, then the adapter sends the first row based on the difference between its row timestamp and the timestamp base, and subsequent rows will be sent based on the difference in row timestamps. If the row timestamps are 5 seconds apart then the rows will be sent 5 seconds apart.