Esempio n. 1
0
 void start()
 {
     ActivityTimer s(totalCycles, timeActivities, NULL);
     dataLinkStart("TEMPTABLE", container.queryId());
     currentRow = 0;
     isLocal = container.queryOwnerId() && container.queryOwner().isLocalOnly();
     empty = isLocal ? false : !firstNode();
     numRows = helper->numRows();
 }
Esempio n. 2
0
 void getMetaInfo(ThorDataLinkMetaInfo &info)
 {
     initMetaInfo(info);
     info.isSource = true;
     info.unknownRowsOutput = false;
     if (isLocal || firstNode())
         info.totalRowsMin = helper->numRows();
     else
         info.totalRowsMin = 0;
     info.totalRowsMax = info.totalRowsMin;
 }
Esempio n. 3
0
 CATCH_NEXTROW()
 {
     ActivityTimer t(totalCycles, timeActivities, NULL);
     if (eof || abortSoon)
         return NULL;
     RtlDynamicRowBuilder row(queryRowAllocator());
     size32_t sizeGot = helper->getRow(row, currentRow++);
     if (sizeGot)
     {
         dataLinkIncrement();
         return row.finalizeRowClear(sizeGot);
     }   
     eof = true;
     return NULL;
 }
Esempio n. 4
0
 CATCH_NEXTROW()
 {
     ActivityTimer t(totalCycles, timeActivities, NULL);
     if (empty || abortSoon)
         return NULL;
     // Filtering empty rows, returns the next valid row
     while (currentRow < numRows) {
         RtlDynamicRowBuilder row(queryRowAllocator());
         size32_t sizeGot = helper->getRow(row, currentRow++);
         if (sizeGot)
         {
             dataLinkIncrement();
             return row.finalizeRowClear(sizeGot);
         }
     }
     return NULL;
 }