@@ -382,6 +382,32 @@ int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHand
382382 } else if (QUERY_NODE_PHYSICAL_PLAN_EXCHANGE == type ) {
383383 code = createExchangeOperatorInfo (pHandle ? pHandle -> pMsgCb -> clientRpc : NULL , (SExchangePhysiNode * )pPhyNode ,
384384 pTaskInfo , & pOperator );
385+ } else if (QUERY_NODE_PHYSICAL_PLAN_STREAM_SCAN == type ) {
386+ STableScanPhysiNode * pTableScanNode = (STableScanPhysiNode * )pPhyNode ;
387+ STableListInfo * pTableListInfo = tableListCreate ();
388+ if (!pTableListInfo ) {
389+ pTaskInfo -> code = terrno ;
390+ qError ("%s failed at line %d since %s" , __func__ , __LINE__ , tstrerror (terrno ));
391+ return terrno ;
392+ }
393+
394+ if (pHandle -> vnode && (pTaskInfo -> pSubplan -> pVTables == NULL )) {
395+ code = createScanTableListInfo (& pTableScanNode -> scan , pTableScanNode -> pGroupTags , pTableScanNode -> groupSort ,
396+ pHandle , pTableListInfo , pTagCond , pTagIndexCond , pTaskInfo , NULL );
397+ if (code ) {
398+ pTaskInfo -> code = code ;
399+ tableListDestroy (pTableListInfo );
400+ qError ("failed to createScanTableListInfo, code:%s" , tstrerror (code ));
401+ return code ;
402+ }
403+ }
404+
405+ code = createTmqScanOperatorInfo (pHandle , pTableScanNode , pTagCond , pTableListInfo , pTaskInfo , & pOperator );
406+ if (code ) {
407+ pTaskInfo -> code = code ;
408+ tableListDestroy (pTableListInfo );
409+ return code ;
410+ }
385411 } else if (QUERY_NODE_PHYSICAL_PLAN_SYSTABLE_SCAN == type ) {
386412 SSystemTableScanPhysiNode * pSysScanPhyNode = (SSystemTableScanPhysiNode * )pPhyNode ;
387413 code = createSysTableScanOperatorInfo (pHandle , pSysScanPhyNode , pUser , pTaskInfo , & pOperator );
0 commit comments