You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-08-08 14:02:17 +03:00
74 lines
2.0 KiB
Groff
74 lines
2.0 KiB
Groff
.\" Automatically generated by Pandoc 3.5
|
|
.\"
|
|
.TH "mysql_autocommit" "3" "" "Version 3.3" "MariaDB Connector/C"
|
|
.SS Name
|
|
mysql_autocommit \- Toggles autocommit mode
|
|
.SS Synopsis
|
|
.IP
|
|
.EX
|
|
#include \f[B]<mysql.h>\f[R]
|
|
|
|
my_bool mysql_autocommit(MYSQL * mysql, my_bool auto_mode);
|
|
.EE
|
|
.SS Description
|
|
Toggles autocommit mode on or off for the current database connection.
|
|
Autocommit mode will be set if mode=1 or unset if mode=0.
|
|
.SS Parameters:
|
|
.IP \[bu] 2
|
|
\f[CR]mysql\f[R] is a connection identifier, which was previously
|
|
allocated by \f[B]mysql_init(3)\f[R] and connected by
|
|
\f[B]mysql_real_connect(3)\f[R].
|
|
.IP \[bu] 2
|
|
\f[CR]auto_mode\f[R] \- whether to turn autocommit on or not.
|
|
.SS Notes
|
|
.IP \[bu] 2
|
|
Autocommit mode only affects operations on transactional table types.
|
|
To determine the current state of autocommit mode use the SQL command
|
|
\f[CR]SELECT \[at]\[at]autocommit\f[R] or check the server status (see
|
|
example below).
|
|
.IP \[bu] 2
|
|
Be aware: the [mysql_rollback()}(mysql_rollback() function will not work
|
|
if autocommit mode is switched on.
|
|
.SS Examples
|
|
.SS SQL
|
|
.IP
|
|
.EX
|
|
# Turn \f[B]off\f[R] autocommit
|
|
\f[B]SET\f[R] AUTOCOMMIT=0;
|
|
|
|
# Retrieve autocommit
|
|
\f[B]SELECT\f[R] \[at]\[at]autocommit;
|
|
+\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R]
|
|
| \[at]\[at]autocommit |
|
|
+\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R]
|
|
| 0 |
|
|
+\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R]
|
|
.EE
|
|
.SS MariaDB Connector/C
|
|
.IP
|
|
.EX
|
|
static int test_autocommit(MYSQL *mysql)
|
|
{
|
|
int rc;
|
|
unsigned int server_status;
|
|
|
|
\f[I]/* Turn autocommit off */\f[R]
|
|
rc= mysql_autocommit(mysql, 0);
|
|
\f[B]if\f[R] (rc)
|
|
\f[B]return\f[R] rc; \f[I]/* Error */\f[R]
|
|
|
|
\f[I]/* If autocommit = 0 succeeded, the last OK packet updated the server status */\f[R]
|
|
rc= mariadb_get_infov(mysql, MARIADB_CONNECTION_SERVER_STATUS, &server_status);
|
|
\f[B]if\f[R] (rc)
|
|
\f[B]return\f[R] rc; \f[I]/* Error */\f[R]
|
|
|
|
\f[B]if\f[R] (server_status & SERVER_STATUS_AUTOCOMMIT)
|
|
{
|
|
printf(\[dq]Error: autocommit is on\[rs]n\[dq]);
|
|
\f[B]return\f[R] 1;
|
|
}
|
|
printf(\[dq]OK: autocommit is off\[rs]n\[dq]);
|
|
\f[B]return\f[R] 0;
|
|
}
|
|
.EE
|