Beispiel #1
0
TEST_F(SelectTests, simple_projection_with_position) {
  auto t = Loader::shortcuts::load("test/lin_xxs.tbl");
  ProjectionScan gs;
  gs.setProducesPositions(true);
  gs.addInput(t);
  gs.addField(0);

  const auto& result = gs.execute()->getResultTable();
  const auto& reference = Loader::shortcuts::load("test/reference/simple_projection.tbl");
  ASSERT_TRUE(result->contentEquals(reference));
}
  void BenchmarkSetUp() {
    ps = new ProjectionScan();
    ps->setEvent("NO_PAPI");

    sm = StorageManager::getInstance();

    t = sm->getTable("district");

    ps->setProducesPositions(true);
    ps->addInput(t);
    ps->addField(0);
    ps->addField(1);
  }
Beispiel #3
0
TEST_F(SelectTests, simple_projection_with_position_all_mat) {
  auto t = Loader::shortcuts::load("test/lin_xxxs.tbl");
  ProjectionScan gs;
  gs.setProducesPositions(true);
  gs.addInput(t);
  gs.addField(0);
  gs.addField(1);

  auto result = gs.execute()->getResultTable();
  MaterializingScan ms(false);
  ms.addInput(result);
  const auto& result2 = ms.execute()->getResultTable();
  const auto& reference = Loader::shortcuts::load("test/lin_xxxs.tbl");
  ASSERT_TRUE(result2->contentEquals(reference));
}
Beispiel #4
0
TEST_F(SelectTests, simple_projection_on_empty_table) {
  hyrise::storage::c_atable_ptr_t t = Loader::shortcuts::load("test/empty.tbl");

  ProjectionScan gs;
  gs.setProducesPositions(true);
  gs.addInput(t);
  gs.addField(2);
  gs.addField(3);
  gs.addField(4);
  gs.addField(5);
  gs.addField(6);

  const auto& result = gs.execute()->getResultTable();
  const auto& reference = Loader::shortcuts::load("test/reference/empty_after_projection.tbl");
  ASSERT_TRUE(result->contentEquals(reference));
}
Beispiel #5
0
TEST_F(SelectTests, simple_projection_with_position_mat_and_sample) {
  auto t = Loader::shortcuts::load("test/lin_xxs.tbl");
  ProjectionScan gs;
  gs.setProducesPositions(true);
  gs.addInput(t);
  gs.addField(0);
  auto result = gs.execute()->getResultTable();

  MaterializingScan ms(false);
  ms.addInput(result);
  ms.setSamples(3);
  const auto& result2 = ms.execute()->getResultTable();

  ASSERT_EQ((unsigned) 3, result2->size());

}
Beispiel #6
0
TEST_F(SelectTests, simple_projection_with_position_mat_memcpy) {
  auto t = Loader::shortcuts::load("test/lin_xxs.tbl");
  ProjectionScan gs;
  gs.setProducesPositions(true);
  gs.addInput(t);
  gs.addField(0);

  ASSERT_EQ((unsigned) 10, t->columnCount());

  auto result = gs.execute()->getResultTable();
  MaterializingScan ms(true);
  ms.addInput(result);
  const auto& result2 = ms.execute()->getResultTable();

  ASSERT_EQ((unsigned) 100, result2->size());
  const auto& reference = Loader::shortcuts::load("test/reference/simple_projection.tbl");

  ASSERT_TABLE_EQUAL(reference, result2);
}
TEST_F(MaterializingScanTests, basic_materializing_scan_test) {
  auto t = io::Loader::shortcuts::load("test/lin_xxs.tbl");
  auto no_p = (storage::PointerCalculator*) nullptr;

  ProjectionScan ps;
  ps.addInput(t);
  ps.addField(0);
  ps.setProducesPositions(true);
  ps.execute();

  const auto &t2 = ps.getResultTable();
  ASSERT_NE(no_p, dynamic_cast<const storage::PointerCalculator*>(t2.get()));

  MaterializingScan ms;
  ms.addInput(t2);
  ms.addField(0);
  ms.execute();

  const auto &result = ms.getResultTable();
  ASSERT_EQ(no_p, dynamic_cast<const storage::PointerCalculator*>(result.get()));
  ASSERT_EQ(100u, result->size());
  ASSERT_EQ(1u, result->columnCount());
}