Skip to content
Snippets Groups Projects
Commit f3ea3f77 authored by Foxido's avatar Foxido
Browse files

WIP: HOTFIX FIX

parent e850aff7
Branches
No related tags found
No related merge requests found
......@@ -18,11 +18,12 @@ class TaskState {
bool is_column_orig_const(ColumnTag) const;
size_t const_column_index(ColumnTag) const;
size_t const_column_count() const {
return consts_.size();
}
void update_scan_mask(std::vector<bool>&mask, ColumnTag target) const;
bool is_column_valid(ColumnTag tag) const {
return chm_index_by_col_.contains(tag);
}
......
......@@ -248,13 +248,7 @@ double JoinOperator::cardinality(const TaskState &task_state) const {
void ScanOperator::const_scan_mask(const TaskState& task_state, std::vector<bool>& mask) {
for (auto constant: constants_) {
if (!task_state.is_column_orig_const(constant)) {
/* task number should be 2, but it should be checked somewhere else */
continue;
}
auto const_index = task_state.const_column_index(constant);
mask[const_index] = true;
task_state.update_scan_mask(mask, constant);
}
}
......
#include <chm.h>
#include <config.h>
#include <exceptions.h>
#include <fmt/base.h>
#include <operators.h>
#include <state.h>
......@@ -12,7 +13,6 @@
#include <string>
#include <unordered_map>
#include <vector>
#include "exceptions.h"
TaskState TaskState::from_task(std::istream& input) {
std::string line;
......@@ -131,12 +131,14 @@ CHM eq_classes_from_solution(const TaskState& task_state,
return new_equiv_classes;
}
size_t TaskState::const_column_index(ColumnTag target) const {
void TaskState::update_scan_mask(std::vector<bool>& mask,
ColumnTag target) const {
size_t target_eq = eq_classes_.get(chm_index_by_col_.at(target));
for (size_t i = 0; i < consts_.size(); ++i) {
if (consts_[i] == target) {
return i;
size_t const_eq = eq_classes_.get(chm_index_by_col_.at(consts_[i]));
if (target_eq == const_eq) {
mask[i] = true;
}
}
throw validation_err_type::SEARCH_CONST_NOT_CONST;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment