diff options
Diffstat (limited to 'libmariadb/man/mysql_autocommit.3')
-rw-r--r-- | libmariadb/man/mysql_autocommit.3 | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/libmariadb/man/mysql_autocommit.3 b/libmariadb/man/mysql_autocommit.3 new file mode 100644 index 00000000..9b12b9de --- /dev/null +++ b/libmariadb/man/mysql_autocommit.3 @@ -0,0 +1,82 @@ +.\" Automatically generated by Pandoc 2.5 +.\" +.TH "mysql_autocommit" "3" "" "Version 3.3.1" "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 |