Skip to content

Commit

Permalink
Updates for all other expressions.
Browse files Browse the repository at this point in the history
  • Loading branch information
joka921 committed Sep 28, 2021
1 parent 2c40bc8 commit dc9f36b
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 15 deletions.
18 changes: 9 additions & 9 deletions src/parser/RelationalExpression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ bool isKbVariable(const ExpressionResult& result, EvaluationContext* context) {
if (!ptr) {
return false;
}
return context->_variableColumnMap[ptr->_variable].second ==
return context->_variableToColumnAndResultTypeMap.at(ptr->_variable).second ==
ResultTable::ResultType::KB;
}

Expand All @@ -38,7 +38,7 @@ double getDoubleFromConstant(const ExpressionResult& x,
AD_CHECK(false);
} else if constexpr (std::is_same_v<string, T>) {
return std::numeric_limits<double>::quiet_NaN();
} else if constexpr (std::is_same_v<StrongIdAndDatatype, T>) {
} else if constexpr (std::is_same_v<StrongIdWithResultType, T>) {
return NumericValueGetter{}(t._id, t._type, context);
} else {
return static_cast<double>(t);
Expand All @@ -55,9 +55,9 @@ ExpressionResult EqualsExpression::evaluate(EvaluationContext* context) const {
if (isKbVariable(left, context) && isKbVariable(right, context)) {
auto leftVariable = std::get<Variable>(left)._variable;
auto rightVariable = std::get<Variable>(right)._variable;
auto leftColumn = context->_variableColumnMap[leftVariable].first;
auto rightColumn = context->_variableColumnMap[rightVariable].first;
LimitedVector<bool> result{context->_allocator};
auto leftColumn = context->_variableToColumnAndResultTypeMap.at(leftVariable).first;
auto rightColumn = context->_variableToColumnAndResultTypeMap.at(rightVariable).first;
VectorWithMemoryLimit<bool> result{context->_allocator};
result.reserve(context->_endIndex - context->_beginIndex);
for (size_t i = context->_beginIndex; i < context->_endIndex; ++i) {
result.push_back(context->_inputTable(i, leftColumn) ==
Expand All @@ -72,14 +72,14 @@ ExpressionResult EqualsExpression::evaluate(EvaluationContext* context) const {
std::to_string(getDoubleFromConstant(right, context)));
Id idOfConstant;
auto leftVariable = std::get<Variable>(left)._variable;
auto leftColumn = context->_variableColumnMap[leftVariable].first;
auto leftColumn = context->_variableToColumnAndResultTypeMap.at(leftVariable).first;
if (!context->_qec.getIndex().getVocab().getId(valueString,
&idOfConstant)) {
// empty result
return SetOfIntervals{};
}
if (context->_resultSortedOn.size() > 0 &&
context->_resultSortedOn[0] == leftColumn) {
if (context->_columnsByWhichResultIsSorted.size() > 0 &&
context->_columnsByWhichResultIsSorted[0] == leftColumn) {
auto comp = [&](const auto& l, const auto& r) {
return l[leftColumn] < r;
};
Expand All @@ -102,7 +102,7 @@ ExpressionResult EqualsExpression::evaluate(EvaluationContext* context) const {

return SetOfIntervals{{std::pair(lowerConverted, upperConverted)}};
} else {
LimitedVector<double> result{context->_allocator};
VectorWithMemoryLimit<double> result{context->_allocator};
result.reserve(context->_endIndex - context->_beginIndex);
for (size_t i = context->_beginIndex; i < context->_endIndex; ++i) {
result.push_back(context->_inputTable(i, leftColumn) == idOfConstant);
Expand Down
2 changes: 1 addition & 1 deletion src/parser/RelationalExpression.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class EqualsExpression : public SparqlExpression {
return result;
}

string getCacheKey(const VariableColumnMap& varColMap) const override {
string getCacheKey(const VariableToColumnMap& varColMap) const override {
return "(" + _childLeft->getCacheKey(varColMap) + ") = (" +
_childRight->getCacheKey(varColMap) + ")";
}
Expand Down
6 changes: 3 additions & 3 deletions src/parser/SampleExpression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ExpressionResult SampleExpression::evaluate(EvaluationContext* context) const {
[context]<typename T>(const T& childResult) -> ExpressionResult {
if constexpr (std::is_same_v<T, ad_utility::SetOfIntervals>) {
// If any element is true, then we sample this element.
return LimitedVector<bool>({!childResult._intervals.empty()},
return VectorWithMemoryLimit<bool>({!childResult._intervals.empty()},
context->_allocator);
} else if constexpr (ad_utility::isVector<T>) {
AD_CHECK(!childResult.empty());
Expand All @@ -30,9 +30,9 @@ ExpressionResult SampleExpression::evaluate(EvaluationContext* context) const {
EvaluationContext newInput = *context;
newInput._endIndex = newInput._beginIndex + 1;
auto idOfFirstAsVector = getIdsFromVariable(childResult, &newInput);
return StrongIdAndDatatype{
return StrongIdWithResultType{
idOfFirstAsVector[0],
context->_variableColumnMap.at(childResult._variable).second};
context->_variableToColumnAndResultTypeMap.at(childResult._variable).second};
} else {
static_assert(isConstantResult<T>);
return childResult;
Expand Down
2 changes: 1 addition & 1 deletion src/parser/SampleExpression.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class SampleExpression : public SparqlExpression {
return {};
}

string getCacheKey(const VariableColumnMap& varColMap) const override {
string getCacheKey(const VariableToColumnMap& varColMap) const override {
return "SAMPLE("s + _child->getCacheKey(varColMap) + ")";
}

Expand Down
2 changes: 1 addition & 1 deletion third_party/googletest
Submodule googletest updated 339 files

0 comments on commit dc9f36b

Please sign in to comment.