1
0
Fork 0

removed deprecated skipSome method from AggregateBlock.

This commit is contained in:
James 2014-08-13 09:41:11 +02:00
parent b05ae9668c
commit fa29a2ecb0
1 changed files with 1 additions and 100 deletions

View File

@ -2082,7 +2082,7 @@ namespace triagens {
////////////////////////////////////////////////////////////////////////////////
/// @brief getSome
////////////////////////////////////////////////////////////////////////////////
//~J not yet working!
int getOrSkipSome (size_t atLeast, size_t atMost, bool skipping,
AqlItemBlock*& result, size_t& skipped) {
@ -2219,105 +2219,6 @@ namespace triagens {
return TRI_ERROR_NO_ERROR;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief skipSome
////////////////////////////////////////////////////////////////////////////////
/* size_t skipSome (size_t atLeast, size_t atMost) {
if (_done) {
return 0;
}
if (_buffer.empty()) {
if (! ExecutionBlock::getBlock(DefaultBatchSize, DefaultBatchSize)) {
_done = true;
return 0;
}
_pos = 0; // this is in the first block
}
// If we get here, we do have _buffer.front()
AqlItemBlock* cur = _buffer.front();
size_t skipped = 0;
while (skipped < atLeast) {
// read the next input tow
bool newGroup = false;
if (_currentGroup.groupValues[0].isEmpty()) {
// we never had any previous group
newGroup = true;
}
else {
// we already had a group, check if the group has changed
size_t i = 0;
for (auto it = _aggregateRegisters.begin(); it != _aggregateRegisters.end(); ++it) {
int cmp = AqlValue::Compare(_currentGroup.groupValues[i],
_currentGroup.collections[i],
cur->getValue(_pos, (*it).second),
cur->getDocumentCollection((*it).second));
if (cmp != 0) {
// group change
newGroup = true;
break;
}
++i;
}
}
if (newGroup) {
if (! _currentGroup.groupValues[0].isEmpty()) {
// increase output row count
++skipped;
if ( skipped == atMost) {
return skipped;
}
}
// construct the new group
size_t i = 0;
for (auto it = _aggregateRegisters.begin(); it != _aggregateRegisters.end(); ++it) {
_currentGroup.groupValues[i] = cur->getValue(_pos, (*it).second).clone();
_currentGroup.collections[i] = cur->getDocumentCollection((*it).second);
++i;
}
}
if (++_pos >= cur->size()) {
_buffer.pop_front();
_pos = 0;
bool hasMore = ! _buffer.empty();
if (!hasMore) {
hasMore = ExecutionBlock::getBlock(atLeast, atMost);
}
if (! hasMore) {
try {
++skipped;
delete cur;
cur = nullptr;
_done = true;
return skipped;
}
catch (...) {
delete cur;
throw;
}
}
// hasMore
delete cur;
cur = _buffer.front();
}
}
return skipped;
} */
private:
////////////////////////////////////////////////////////////////////////////////