SHashObj*pResultRowHashTable;// quick locate the window object for each result
char*keyBuf;// window key buffer
SDiskbasedBuf*pResultBuf;// query result buffer based on blocked-wised disk file
int32_tresultRowSize;// the result buffer size for each result row, with the meta data size for each row
}SAggSupporter;
typedefstruct{
// if the upstream is an interval operator, the interval info is also kept here to get the time window to check if current data block needs to be loaded.
SIntervalinterval;
SAggSupporter*pAggSup;
SExprSupp*pExprSup;// expr supporter of aggregate operator
int32_tscanFlag;// table scan flag to denote if it is a repeat/reverse/main scan
int32_tdataBlockLoadFlag;
SIntervalinterval;// if the upstream is an interval operator, the interval info is also kept here to get the time window to check if current data block needs to be loaded.
// SInterval interval; // if the upstream is an interval operator, the interval info is also kept here to get the time window to check if current data block needs to be loaded.
sql select _wstart, irate(c), tbname, t1, t2 from st where t1=1 and ts >= '2020-03-27 04:11:17.732' and ts < '2020-03-27 05:11:17.732' partition by tbname, t1, t2 interval(1m) sliding(15s) order by tbname desc limit 1;
sql select _wstart, irate(c), tbname, t1, t2 from st where t1=1 and ts >= '2020-03-27 04:11:17.732' and ts < '2020-03-27 05:11:17.732' partition by tbname, t1, t2 interval(1m) sliding(15s) order by tbname desc,_wstart asc limit 1;