MySQL 9.0.0
Source Code Documentation
sql_exec_context.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2022, 2024, 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,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License 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
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24*/
25
26#ifndef ROUTING_SQL_EXEC_CONTEXT_INCLUDED
27#define ROUTING_SQL_EXEC_CONTEXT_INCLUDED
28
29#include <string>
30#include <vector>
31
33
34/**
35 * execution context for SQL.
36 *
37 * - diagnostics area
38 */
40 public:
41 /**
42 * diagnostics area.
43 *
44 * - warnings, errors and notes.
45 *
46 * used by:
47 *
48 * - SHOW WARNINGS
49 * - SHOW ERRORS
50 * - SHOW COUNT(*) WARNINGS
51 * - SHOW COUNT(*) ERRORS
52 * - SELECT @@warning_count
53 * - SELECT @@error_count
54 */
56 public:
57 class Warning {
58 public:
59 Warning(std::string level, uint64_t code, std::string msg)
60 : level_(std::move(level)), code_(code), msg_{std::move(msg)} {}
61
62 std::string level() const { return level_; }
63 uint64_t code() const { return code_; }
64 std::string message() const { return msg_; }
65
66 private:
67 std::string level_;
68 uint64_t code_;
69 std::string msg_;
70 };
71
72 std::vector<Warning> &warnings() { return warnings_; }
73 const std::vector<Warning> &warnings() const { return warnings_; }
74
75 private:
76 std::vector<Warning> warnings_;
77 };
78
80
82
83 private:
85};
86
87#endif
Definition: sql_exec_context.h:57
std::string level_
Definition: sql_exec_context.h:67
std::string msg_
Definition: sql_exec_context.h:69
uint64_t code_
Definition: sql_exec_context.h:68
std::string level() const
Definition: sql_exec_context.h:62
Warning(std::string level, uint64_t code, std::string msg)
Definition: sql_exec_context.h:59
std::string message() const
Definition: sql_exec_context.h:64
uint64_t code() const
Definition: sql_exec_context.h:63
diagnostics area.
Definition: sql_exec_context.h:55
const std::vector< Warning > & warnings() const
Definition: sql_exec_context.h:73
std::vector< Warning > warnings_
Definition: sql_exec_context.h:76
std::vector< Warning > & warnings()
Definition: sql_exec_context.h:72
execution context for SQL.
Definition: sql_exec_context.h:39
DiagnosticsArea & diagnostics_area()
Definition: sql_exec_context.h:79
DiagnosticsArea diagnostics_area_
Definition: sql_exec_context.h:84
const DiagnosticsArea & diagnostics_area() const
Definition: sql_exec_context.h:81
Definition: gcs_xcom_synode.h:64