int32_tmatchType;// determinate the source according to col id or slot id
int32_tmatchType;// determinate the source according to col id or slot id
}SColMatchInfo;
}SColMatchInfo;
typedefstructSScanInfo{
typedefstructSScanInfo{
int32_tnumOfAsc;
int32_tnumOfAsc;
int32_tnumOfDesc;
int32_tnumOfDesc;
}SScanInfo;
}SScanInfo;
typedefstructSSampleExecInfo{
typedefstructSSampleExecInfo{
doublesampleRatio;// data block sample ratio, 1 by default
doublesampleRatio;// data block sample ratio, 1 by default
uint32_tseed;// random seed value
uint32_tseed;// random seed value
}SSampleExecInfo;
}SSampleExecInfo;
enum{
enum{
...
@@ -261,36 +271,38 @@ enum {
...
@@ -261,36 +271,38 @@ enum {
};
};
typedefstructSTableScanInfo{
typedefstructSTableScanInfo{
STsdbReader*dataReader;
STsdbReader*dataReader;
SReadHandlereadHandle;
SReadHandlereadHandle;
SFileBlockLoadRecorderreadRecorder;
SFileBlockLoadRecorderreadRecorder;
SScanInfoscanInfo;
SScanInfoscanInfo;
int32_tscanTimes;
int32_tscanTimes;
SNode*pFilterNode;// filter info, which is push down by optimizer
SNode*pFilterNode;// filter info, which is push down by optimizer
SqlFunctionCtx*pCtx;// which belongs to the direct upstream operator operator query context,todo: remove this by using SExprSup
SqlFunctionCtx*
int32_t*rowEntryInfoOffset;// todo: remove this by using SExprSup
pCtx;// which belongs to the direct upstream operator operator query context,todo: remove this by using SExprSup
SExprInfo*pExpr;// todo: remove this by using SExprSup
int32_t*rowEntryInfoOffset;// todo: remove this by using SExprSup
SExprInfo*pExpr;// todo: remove this by using SExprSup
SSDataBlock*pResBlock;
SArray*pColMatchInfo;
SSDataBlock*pResBlock;
SExprSupppseudoSup;
SArray*pColMatchInfo;
SExprSupppseudoSup;
SQueryTableDataCondcond;
SQueryTableDataCondcond;
int32_tscanFlag;// table scan flag to denote if it is a repeat/reverse/main scan
int32_tscanFlag;// table scan flag to denote if it is a repeat/reverse/main scan
int32_tdataBlockLoadFlag;
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.
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.