mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 16:57:16 +01:00
83 lines
1.9 KiB
Groff
83 lines
1.9 KiB
Groff
|
.\" Automatically generated by Pandoc 2.5
|
||
|
.\"
|
||
|
.TH "mysql_autocommit" "3" "" "Version 3.2.2" "MariaDB Connector/C"
|
||
|
.hy
|
||
|
.SS Name
|
||
|
.PP
|
||
|
mysql_autocommit \- Toggles autocommit mode
|
||
|
.SS Synopsis
|
||
|
.IP
|
||
|
.nf
|
||
|
\f[C]
|
||
|
#include <mysql.h>
|
||
|
|
||
|
my_bool mysql_autocommit(MYSQL * mysql, my_bool auto_mode);
|
||
|
\f[R]
|
||
|
.fi
|
||
|
.SS Description
|
||
|
.PP
|
||
|
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[C]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[C]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[C]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
|
||
|
.nf
|
||
|
\f[C]
|
||
|
# Turn of autocmmit
|
||
|
SET AUTOCOMMIT=0;
|
||
|
|
||
|
# Retrieve autocommit
|
||
|
SELECT \[at]\[at]autocommit;
|
||
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||
|
| \[at]\[at]autocommit |
|
||
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||
|
| 0 |
|
||
|
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||
|
\f[R]
|
||
|
.fi
|
||
|
.SS MariaDB Connector/C
|
||
|
.IP
|
||
|
.nf
|
||
|
\f[C]
|
||
|
static int test_autocommit(MYSQL *mysql)
|
||
|
{
|
||
|
int rc;
|
||
|
unsigned int server_status;
|
||
|
|
||
|
/* Turn autocommit off */
|
||
|
rc= mysql_autocommit(mysql, 0);
|
||
|
if (rc)
|
||
|
return rc; /* Error */
|
||
|
|
||
|
/* If autocommit = 0 succeeded, the last OK packet updated the server status */
|
||
|
rc= mariadb_get_infov(mysql, MARIADB_CONNECTION_SERVER_STATUS, &server_status);
|
||
|
if (rc)
|
||
|
return rc; /* Error */
|
||
|
|
||
|
if (server_status & SERVER_STATUS_AUTOCOMMIT)
|
||
|
{
|
||
|
printf(\[dq]Error: autocommit is on\[rs]n\[dq]);
|
||
|
return 1;
|
||
|
}
|
||
|
printf(\[dq]OK: autocommit is off\[rs]n\[dq]);
|
||
|
return 0;
|
||
|
}
|
||
|
\f[R]
|
||
|
.fi
|