PullSGArrayBlocking::pullChunk

来源:互联网 发布:vb趣味程序集锦 编辑:程序博客网 时间:2024/06/06 08:47

PullSGArrayBlocking::pullAttributes

PullSGArrayBlocking::pullChunk


PullSGArrayBlocking::pullChunk: trying to consume chunk for attId=113

WriteChunkToArrayFunc: trying to consume chunk for attId=113

PullSGArrayBlocking::pullChunk: trying to consume chunk for attId=114

WriteChunkToArrayFunc: trying to consume chunk for attId=114

PullSGArrayBlocking::pullChunk: trying to consume chunk for attId=115

WriteChunkToArrayFunc: trying to consume chunk for attId=115

涉及到几个属性就pull几个,然后写到磁盘上去。


std::shared_ptr<ConstArrayIterator>
PullSGArrayBlocking::getConstIterator(AttributeID attId) const
{
    const static char* funcName =  "PullSGArrayBlocking::getConstIterator: ";


    const size_t attrNum = _iterators.size(); // emptyBitmap included
    // Make sure that multiple attributes are NOT pulled simultaneously using this interface.
    // If the input to pullRedistribute() is a SINGLE_PASS array,
    // only a SINGLE attribute is allowed to be pulled by this interface.
    // To pull multiple attributes simultaneously, pullAttributes() must be used.
    // If the input to pullRedistribute() is a SINGLE_PASS array,
    // pullAttributes() must be used to pull ALL attributes only.
    for (size_t a=0; a < attrNum; ++a) {
        if (a!=attId && _iterators[a] &&
            (isInputSinglePass() || !_iterators[a]->end())) {
            ASSERT_EXCEPTION(false, string(funcName)+string("multiple attributes disallowed"));
        }
    }
    return PullSGArray::getConstIterator(attId);
}

0 0