В запросе Siddhi я импортирую два потока S1 и S2. Если я получу в потоке S1, я вставлю в таблицу событий T1, а когда я получу в S2, я обновлю в таблице T1 на основе идентификатора, а также отправлю обновленные значения из таблицы в выходной поток O1.
Как часть требования, мне нужно получить содержимое таблицы T1, которое вставлено до 5 минут (т. е. если запись находится более 5 минут) и отправить в другой выходной поток O2.
@name('S1')
from S1
select id, srcId, 'null' as msgId, 'INP' as status
insert into StatusTable;
@name('S2')
from S2#window.time(1min) as g join StatusTable[t.status == 'INP'] as t
on ( g.srcId == t.id)
select t.id as id, g.msgId as msgId, 'CMP' as status
update StatusTable on TradeStatusTable.id == id;
@name('Publish')
from S2 as g join StatusTable[t.status == 'CMP'] as t on ( g.srcId == t.id and t.status == 'CMP')
select t.id as id, t.msgId as msgId, t.status as status
insert into O1;
Как добавить запрос в этот существующий запрос для извлечения записей из таблицы TradeStatus, которая проходит более 5 минут. Поскольку таблицу нельзя использовать отдельно, мне нужно объединить ее с потоком, как реализовать этот сценарий?