1
0
Fork 0

compilation errors, still doesn't compile.

This commit is contained in:
James 2014-11-17 13:09:57 +00:00
parent 553c638cfe
commit 35380b03d1
3 changed files with 12 additions and 11 deletions

View File

@ -872,7 +872,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
for (auto v : varsSetHere) {
varsDefined.erase(v);
}
pos = 0;
size_t pos = 0;
do {
for (auto& x : *map) {
auto worker = [&] (std::list<RangeInfoBound>& bounds) -> void {
@ -935,7 +935,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
// note: prefixes are only used for skiplist indexes
// for all other index types, the prefix value will always be 0
node->getIndexesForIndexRangeNode(
_rangeInfoMapVec->attributes(var->name, 0), idxs, prefixes);
_rangeInfoMapVec->attributes(var->name), idxs, prefixes);
//TODO remove the 2nd arg from attribute in the line above
// make one new plan for every index in <idxs> that replaces the
@ -1083,8 +1083,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
}
break;
}
}
return false;
return false;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
@ -1146,7 +1145,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
== varsUsed.end()) {
// Found a multiple attribute access of a variable and an
// expression which does not involve that variable:
_rangeInfoMapVec->insertAND(enumCollVar->name,
_rangeInfoMapVec->insertAnd(enumCollVar->name,
attr.substr(0, attr.size() - 1),
RangeInfoBound(rhs, true),
RangeInfoBound(rhs, true), true);
@ -1186,7 +1185,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
else {
low.assign(lhs, include);
}
_rangeInfoMapVec->insertAND(enumCollVar->name,
_rangeInfoMapVec->insertAnd(enumCollVar->name,
attr.substr(0, attr.size() - 1),
low, high, false);
@ -1212,7 +1211,7 @@ class FilterToEnumCollFinder : public WalkerWorker<ExecutionNode> {
else {
high.assign(rhs, include);
}
_rangeInfoMapVec->insertAND(enumCollVar->name, attr.substr(0, attr.size() - 1),
_rangeInfoMapVec->insertAnd(enumCollVar->name, attr.substr(0, attr.size() - 1),
low, high, false);
enumCollVar = nullptr;

View File

@ -370,10 +370,10 @@ void RangeInfoMap::eraseEmptyOrUndefined(std::string const& var) {
// FIXME maybe this is unnecessary, it should be that the return value here is
// independent of pos, i.e that every entry in the vec has the same attributes??
std::unordered_set<std::string> RangeInfoMapVec::attributes (std::string const& var, size_t pos) {
std::unordered_set<std::string> RangeInfoMapVec::attributes (std::string const& var) {
TRI_ASSERT(pos < _rangeInfoMapVec.size());
return _rangeInfoMapVec[pos].attributes(var);
return _rangeInfoMapVec[0].attributes(var);
}
void RangeInfoMapVec::validPositions(std::string const& var) {

View File

@ -649,7 +649,8 @@ namespace triagens {
RangeInfoMap* clone ();
RangeInfoMap* cloneExcluding (std::string const&);
void eraseEmptyOrUndefined (std::string const&);
bool isValid ();
bool isValid (std::string const&);
std::unordered_set<std::string> attributes (std::string const& var);
////////////////////////////////////////////////////////////////////////////////
/// @brief private data
@ -722,8 +723,9 @@ namespace triagens {
std::unordered_map<std::string, RangeInfo>* find (std::string const& var, size_t pos);
std::vector<size_t> validPositions ();
std::vector<size_t> validPositions (std::string const& var);
// in what positions are the RangeInfoMaps in the vector valid
std::unordered_set<std::string> attributes (std::string const& var);
////////////////////////////////////////////////////////////////////////////////
/// @brief private data