MySQL 26.7.0
Source Code Documentation
dependency_tracker_stub.h
Go to the documentation of this file.
1// Copyright (c) 2026, Oracle and/or its affiliates.
2//
3// This program is free software; you can redistribute it and/or modify
4// it under the terms of the GNU General Public License, version 2.0,
5// as published by the Free Software Foundation.
6//
7// This program is designed to work with certain software (including
8// but not limited to OpenSSL) that is licensed under separate terms,
9// as designated in a particular file or component or in included license
10// documentation. The authors of MySQL hereby grant you an additional
11// permission to link the program and your derivative works with the
12// separately licensed software that they have either included with
13// the program or referenced in the documentation.
14//
15// This program is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License, version 2.0, for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with this program; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
23
24#ifndef MYSQL_SCHEDULER_DEPENDENCY_TRACKER_STUB_H
25#define MYSQL_SCHEDULER_DEPENDENCY_TRACKER_STUB_H
26
29
30namespace mysql::scheduler {
31
32/// @brief Dependency tracker stub: empty tracker, does not check dependencies
34 public:
35 bool add_dependency(const Task_id_type &, const Task_id_type &) override {
36 return true;
37 }
38 bool activate_task(const Task_id &) override { return true; }
39 bool check_ready(const Task_id &) override { return true; }
40 std::vector<Task_id> mark_dependency_met(const Task_id &, bool) override {
41 return {};
42 }
43 virtual ~Dependency_tracker_stub() override = default;
44};
45
46} // namespace mysql::scheduler
47
48#endif // MYSQL_SCHEDULER_DEPENDENCY_TRACKER_STUB_H
Base interface for a dependency tracker.
Definition: base_dependency_tracker.h:53
Dependency tracker stub: empty tracker, does not check dependencies.
Definition: dependency_tracker_stub.h:33
bool activate_task(const Task_id &) override
Register task in the system to prevent adding dependencies on non-existing tasks and adding active de...
Definition: dependency_tracker_stub.h:38
bool add_dependency(const Task_id_type &, const Task_id_type &) override
add_dependency
Definition: dependency_tracker_stub.h:35
virtual ~Dependency_tracker_stub() override=default
std::vector< Task_id > mark_dependency_met(const Task_id &, bool) override
Task is finished, mark all dependencies of this task as met.
Definition: dependency_tracker_stub.h:40
bool check_ready(const Task_id &) override
check_ready
Definition: dependency_tracker_stub.h:39
Represents the identifier of a task ingested by the scheduler,.
Definition: task_id.h:41
Definition: base_dependency_tracker.h:41