MySQL 9.3.0
Source Code Documentation
query_rest_task_status.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, Oracle and/or its affiliates.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License, version 2.0,
6 * as published by the Free Software Foundation.
7 *
8 * This program is designed to work with certain software (including
9 * but not limited to OpenSSL) that is licensed under separate terms,
10 * as designated in a particular file or component or in included license
11 * documentation. The authors of MySQL hereby grant you an additional
12 * permission to link the program and your derivative works with the
13 * separately licensed software that they have either included with
14 * the program or referenced in the documentation.
15 *
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
19 * the GNU General Public License, version 2.0, for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24 */
25
26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_TASK_STATUS_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_TASK_STATUS_H_
28
29#include <memory>
30#include <optional>
31#include <string>
32#include <vector>
33
35#include "helper/mysql_column.h"
40#include "mrs/gtid_manager.h"
43
44namespace mrs {
45namespace database {
46
47class QueryRestTaskStatus : private Query {
48 using Row = Query::Row;
51
52 public:
53 virtual void query_status(collector::CountedMySQLSession *session,
54 const std::string &url,
55 const mysqlrouter::sqlstring &user_id,
56 const MysqlTaskOptions &task_options,
57 const std::string &task_id);
58
59 // To be fed to HTTP Result
60 std::string response;
61 HttpStatusCode::key_type status = HttpStatusCode::Ok;
62
63 protected:
64 std::string url_;
65
66 void on_row(const ResultRow &r) override;
67
69 const MysqlTaskOptions &task_options,
70 const std::string &task_id);
71};
72
73} // namespace database
74} // namespace mrs
75
76#endif // ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_TASK_STATUS_H_
Definition: counted_mysql_session.h:38
Definition: query.h:37
MySQLSession::Row Row
Definition: query.h:40
Definition: query_rest_task_status.h:47
std::string response
Definition: query_rest_task_status.h:60
void on_row(const ResultRow &r) override
Definition: query_rest_task_status.cc:51
void execute_monitoring_sql(collector::CountedMySQLSession *session, const MysqlTaskOptions &task_options, const std::string &task_id)
Definition: query_rest_task_status.cc:59
entry::ResultSets ResultSets
Definition: query_rest_task_status.h:49
std::string url_
Definition: query_rest_task_status.h:64
HttpStatusCode::key_type status
Definition: query_rest_task_status.h:61
virtual void query_status(collector::CountedMySQLSession *session, const std::string &url, const mysqlrouter::sqlstring &user_id, const MysqlTaskOptions &task_options, const std::string &task_id)
Definition: query_rest_task_status.cc:33
Definition: rest_handler.h:117
Definition: mysql_session.h:310
Definition: utils_sqlstring.h:67
int key_type
Definition: status_code.h:36
mrs::database::entry::ResultSets ResultSets
Definition: handler_db_object_script.cc:83
Definition: authorize_manager.h:48
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86