SNode.C
Loading...
Searching...
No Matches
MariaDBAutoCommitCommand.cpp
Go to the documentation of this file.
1
/*
2
* SNode.C - A Slim Toolkit for Network Communication
3
* Copyright (C) Volker Christian <me@vchrist.at>
4
* 2020, 2021, 2022, 2023, 2024, 2025
5
* 2021, 2022 Daniel Flockert
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU Lesser General Public License as published
9
* by the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
/*
22
* MIT License
23
*
24
* Permission is hereby granted, free of charge, to any person obtaining a copy
25
* of this software and associated documentation files (the "Software"), to deal
26
* in the Software without restriction, including without limitation the rights
27
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28
* copies of the Software, and to permit persons to whom the Software is
29
* furnished to do so, subject to the following conditions:
30
*
31
* The above copyright notice and this permission notice shall be included in
32
* all copies or substantial portions of the Software.
33
*
34
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
40
* THE SOFTWARE.
41
*/
42
43
#
include
"database/mariadb/commands/async/MariaDBAutoCommitCommand.h"
44
45
#
ifndef
DOXYGEN_SHOULD_SKIP_THIS
46
47
#
endif
/* DOXYGEN_SHOULD_SKIP_THIS */
48
49
namespace
database::
mariadb
::commands::
async
{
50
51
MariaDBAutoCommitCommand
::
MariaDBAutoCommitCommand
(my_bool autoCommit,
52
const
std::function<
void
()>& onAutoCommit,
53
const
std::function<
void
(
const
std::string&,
unsigned
int
)>& onError)
54
:
MariaDBCommandASync
(
"AutoCommit"
, onError)
55
,
autoCommit
(
autoCommit
)
56
,
onAutoCommit
(
onAutoCommit
) {
57
}
58
59
int
MariaDBAutoCommitCommand
::
commandStart
() {
60
return
mysql_autocommit_start(&ret, mysql, autoCommit);
61
}
62
63
int
MariaDBAutoCommitCommand
::
commandContinue
(
int
status) {
64
return
mysql_autocommit_cont(&ret, mysql, status);
65
}
66
67
bool
MariaDBAutoCommitCommand
::
commandCompleted
() {
68
onAutoCommit();
69
70
return
true
;
71
}
72
73
void
MariaDBAutoCommitCommand
::
commandError
(
const
std::string& errorString,
unsigned
int
errorNumber) {
74
onError(errorString, errorNumber);
75
}
76
77
std::string
MariaDBAutoCommitCommand
::
commandInfo
() {
78
return
commandName
() +
": AutoCommit = "
+ std::to_string(autoCommit);
79
}
80
81
}
// namespace database::mariadb::commands::async
database::mariadb::MariaDBCommandASync
Definition
MariaDBCommandASync.h:54
database::mariadb::MariaDBCommand::commandName
const std::string & commandName()
Definition
MariaDBCommand.cpp:71
database::mariadb::commands::async::MariaDBAutoCommitCommand
Definition
MariaDBAutoCommitCommand.h:54
database::mariadb::commands::async::MariaDBAutoCommitCommand::commandInfo
std::string commandInfo() override
Definition
MariaDBAutoCommitCommand.cpp:77
database::mariadb::commands::async::MariaDBAutoCommitCommand::commandStart
int commandStart() override
Definition
MariaDBAutoCommitCommand.cpp:59
database::mariadb::commands::async::MariaDBAutoCommitCommand::MariaDBAutoCommitCommand
MariaDBAutoCommitCommand(my_bool autoCommit, const std::function< void(void)> &onAutoCommit, const std::function< void(const std::string &, unsigned int)> &onError)
Definition
MariaDBAutoCommitCommand.cpp:51
database::mariadb::commands::async::MariaDBAutoCommitCommand::commandError
void commandError(const std::string &errorString, unsigned int errorNumber) override
Definition
MariaDBAutoCommitCommand.cpp:73
database::mariadb::commands::async::MariaDBAutoCommitCommand::commandCompleted
bool commandCompleted() override
Definition
MariaDBAutoCommitCommand.cpp:67
database::mariadb::commands::async::MariaDBAutoCommitCommand::commandContinue
int commandContinue(int status) override
Definition
MariaDBAutoCommitCommand.cpp:63
database::mariadb::commands
Definition
MariaDBAutoCommitCommand.cpp:49
database
Definition
MariaDBClient.h:61
database
mariadb
commands
async
MariaDBAutoCommitCommand.cpp
Generated on
for SNode.C by
1.15.0