message: Making sure we dont kaput filter nodes by mistake
diff: @@ -8,13 +8,25 @@ using namespace std;
  unique_ptr<LogicalOperator> FilterPushdown::PushdownGet(unique_ptr<LogicalOperator> op) {
  assert(op->type == LogicalOperatorType::GET);
  auto &get = (LogicalGet &)*op;
  - if (get.tableFilters.size() > 0) {
  + if (!get.tableFilters.empty()) {
  + if (!filters.empty()) {
  + //! We didn't managed to push down all filters to table scan
  + auto logicalFilter = make_unique<LogicalFilter>();
  + for (auto &f : filters) {
  + logicalFilter->expressions.push_back(move(f->filter));
  + }
  + logicalFilter->children.push_back(move(op));
  + return move(logicalFilter);
  + }
  + else{
  return op;
  +
  + }
  }
  //! FIXME: We only need to skip if the index is in the column being filtered
  - if (!get.table || get.table->storage->indexes.size() > 0) {
  + if (!get.table || !get.table->storage->indexes.empty()) {
  //! now push any existing filters
  - if (filters.size() == 0) {
  + if (filters.empty()) {
  //! no filters to push
  return op;
  }
  @@ -26,6 +38,7 @@ unique_ptr<LogicalOperator> FilterPushdown::PushdownGet(unique_ptr<LogicalOperat
  return move(filter);
  }
  PushFilters();
  +
  vector<unique_ptr<Filter>> filtersToPushDown;
  get.tableFilters = combiner.GenerateTableScanFilters(
  [&](unique_ptr<Expression> filter) {
  @@ -44,7 +57,7 @@ unique_ptr<LogicalOperator> FilterPushdown::PushdownGet(unique_ptr<LogicalOperat
  get.expressions.push_back(move(f->filter));
  }
  - if (filters.size() > 0) {
  + if (!filters.empty()) {
  //! We didn't managed to push down all filters to table scan
  auto logicalFilter = make_unique<LogicalFilter>();
  for (auto &f : filters) {
  @@ -53,5 +66,5 @@ unique_ptr<LogicalOperator> FilterPushdown::PushdownGet(unique_ptr<LogicalOperat
  logicalFilter->children.push_back(move(op));
  return move(logicalFilter);
  }
  - return move(op);
  + return op;
  }
  