Skip to content
This repository was archived by the owner on Sep 27, 2019. It is now read-only.

Commit 300fc38

Browse files
author
GustavoAngulo
committed
Fixed bug in optimizer test
1 parent eb0381f commit 300fc38

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

src/include/optimizer/memo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class Memo {
5454
GroupExpression* InsertExpression(std::shared_ptr<GroupExpression> gexpr,
5555
GroupID target_group, bool enforced);
5656

57-
const std::vector<std::unique_ptr<Group>>& Groups() const;
57+
std::vector<std::unique_ptr<Group>>& Groups();
5858

5959
Group* GetGroupByID(GroupID id);
6060

src/include/optimizer/optimizer.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ class Optimizer : public AbstractOptimizer {
8888
concurrency::TransactionContext *txn) {
8989
return InsertQueryTree(tree, txn);
9090
}
91+
/* For test purposes only */
92+
void TestExecuteTaskStack(OptimizerTaskStack &task_stack, int root_group_id,
93+
std::shared_ptr<OptimizeContext> root_context) {
94+
return ExecuteTaskStack(task_stack, root_group_id, root_context);
95+
}
9196

9297
private:
9398
/* HandleDDLStatement - Check and handle DDL statment (currently only support

src/optimizer/memo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ GroupExpression *Memo::InsertExpression(std::shared_ptr<GroupExpression> gexpr,
6363
}
6464
}
6565

66-
const std::vector<std::unique_ptr<Group>> &Memo::Groups() const {
66+
std::vector<std::unique_ptr<Group>> &Memo::Groups() {
6767
return groups_;
6868
}
6969

test/optimizer/optimizer_test.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -471,25 +471,25 @@ TEST_F(OptimizerTests, ExecuteTaskStackTest) {
471471
const int root_group_id = 0;
472472
const auto root_group =
473473
new Group(root_group_id, std::unordered_set<std::string>());
474-
optimizer.metadata_.memo.groups_.emplace_back(root_group);
474+
optimizer.GetMetadata().memo.Groups().emplace_back(root_group);
475475

476476
auto required_prop = std::make_shared<PropertySet>(PropertySet());
477477
auto root_context =
478-
std::make_shared<OptimizeContext>(&(optimizer.metadata_), required_prop);
478+
std::make_shared<OptimizeContext>(&(optimizer.GetMetadata()), required_prop);
479479
auto task_stack =
480480
std::unique_ptr<OptimizerTaskStack>(new OptimizerTaskStack());
481-
auto &timer = optimizer.metadata_.timer;
481+
auto &timer = optimizer.GetMetadata().timer;
482482

483483
// Insert tasks into task stack
484484
for (unsigned int i = 0; i < num_tasks; i++) {
485485
auto task = new optimizer::test::MockTask();
486486
EXPECT_CALL(*task, execute()).Times(1);
487487
task_stack->Push(task);
488488
}
489-
optimizer.metadata_.SetTaskPool(task_stack.get());
489+
optimizer.GetMetadata().SetTaskPool(task_stack.get());
490490

491491
const auto start_time = timer.GetDuration();
492-
optimizer.ExecuteTaskStack(*task_stack, root_group_id, root_context);
492+
optimizer.TestExecuteTaskStack(*task_stack, root_group_id, root_context);
493493
ASSERT_EQ(timer.GetInvocations(), num_tasks);
494494
ASSERT_GT(timer.GetDuration(), start_time);
495495
}

0 commit comments

Comments
 (0)