MySQL 8.1.0
Source Code Documentation
psi_transaction_service.h
Go to the documentation of this file.
1/* Copyright (c) 2017, 2023, Oracle and/or its affiliates.
2
3This program is free software; you can redistribute it and/or modify
4it under the terms of the GNU General Public License, version 2.0,
5as published by the Free Software Foundation.
6
7This program is also distributed with certain software (including
8but not limited to OpenSSL) that is licensed under separate terms,
9as designated in a particular file or component or in included license
10documentation. The authors of MySQL hereby grant you an additional
11permission to link the program and your derivative works with the
12separately licensed software that they have included with MySQL.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License, version 2.0, for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22
23#ifndef COMPONENTS_SERVICES_PSI_TRANSACTION_SERVICE_H
24#define COMPONENTS_SERVICES_PSI_TRANSACTION_SERVICE_H
25
28
29BEGIN_SERVICE_DEFINITION(psi_transaction_v1)
30/** @sa get_thread_transaction_locker_v1_t. */
31get_thread_transaction_locker_v1_t get_thread_transaction_locker;
32/** @sa start_transaction_v1_t. */
34/** @sa set_transaction_xid_v1_t. */
35set_transaction_xid_v1_t set_transaction_xid;
36/** @sa set_transaction_xa_state_v1_t. */
37set_transaction_xa_state_v1_t set_transaction_xa_state;
38/** @sa set_transaction_gtid_v1_t. */
39set_transaction_gtid_v1_t set_transaction_gtid;
40/** @sa set_transaction_trxid_v1_t. */
41set_transaction_trxid_v1_t set_transaction_trxid;
42/** @sa inc_transaction_savepoints_v1_t. */
43inc_transaction_savepoints_v1_t inc_transaction_savepoints;
44/** @sa inc_transaction_rollback_to_savepoint_v1_t. */
46 inc_transaction_rollback_to_savepoint;
47/** @sa inc_transaction_release_savepoint_v1_t. */
48inc_transaction_release_savepoint_v1_t inc_transaction_release_savepoint;
49/** @sa end_transaction_v1_t. */
51END_SERVICE_DEFINITION(psi_transaction_v1)
52
53#endif /* COMPONENTS_SERVICES_PSI_TRANSACTION_SERVICE_H */
void(* end_transaction_v1_t)(struct PSI_transaction_locker *locker, bool commit)
Commit or rollback the transaction.
Definition: psi_transaction_bits.h:169
void(* set_transaction_trxid_v1_t)(struct PSI_transaction_locker *locker, const unsigned long long *trxid)
Set the transaction trx_id.
Definition: psi_transaction_bits.h:137
void(* set_transaction_gtid_v1_t)(struct PSI_transaction_locker *locker, const void *sid, const void *gtid_spec)
Set the transaction gtid.
Definition: psi_transaction_bits.h:128
void(* inc_transaction_release_savepoint_v1_t)(struct PSI_transaction_locker *locker, unsigned long count)
Increment a transaction event release savepoint count.
Definition: psi_transaction_bits.h:161
void(* inc_transaction_rollback_to_savepoint_v1_t)(struct PSI_transaction_locker *locker, unsigned long count)
Increment a transaction event rollback to savepoint count.
Definition: psi_transaction_bits.h:153
void(* set_transaction_xa_state_v1_t)(struct PSI_transaction_locker *locker, int xa_state)
Set the state of the XA transaction.
Definition: psi_transaction_bits.h:119
void(* inc_transaction_savepoints_v1_t)(struct PSI_transaction_locker *locker, unsigned long count)
Increment a transaction event savepoint count.
Definition: psi_transaction_bits.h:145
struct PSI_transaction_locker *(* get_thread_transaction_locker_v1_t)(struct PSI_transaction_locker_state_v1 *state, const void *xid, const unsigned long long *trxid, int isolation_level, bool read_only, bool autocommit)
Get a transaction instrumentation locker.
Definition: psi_transaction_bits.h:90
void(* set_transaction_xid_v1_t)(struct PSI_transaction_locker *locker, const void *xid, int xa_state)
Set the transaction xid.
Definition: psi_transaction_bits.h:111
void(* start_transaction_v1_t)(struct PSI_transaction_locker *locker, const char *src_file, unsigned int src_line)
Start a new transaction event.
Definition: psi_transaction_bits.h:101
static int start_transaction(MYSQL *mysql_con)
Definition: mysqldump.cc:5228
bool end_transaction(THD *thd, bool error)
Helper function to do rollback or commit, depending on error.
Definition: utils.cc:180
Performance schema instrumentation interface.
#define END_SERVICE_DEFINITION(name)
A macro to end the last Service definition started with the BEGIN_SERVICE_DEFINITION macro.
Definition: service.h:90
#define BEGIN_SERVICE_DEFINITION(name)
Declares a new Service.
Definition: service.h:85