File: mysql_autocommit.3

package info (click to toggle)
mariadb 1%3A10.11.14-0%2Bdeb12u2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 614,128 kB
  • sloc: ansic: 2,421,226; cpp: 1,765,048; asm: 381,336; perl: 62,256; java: 39,363; pascal: 38,841; sh: 38,242; sql: 19,830; yacc: 19,731; xml: 10,414; python: 10,125; ruby: 8,544; cs: 6,542; makefile: 6,155; ada: 1,879; lex: 1,207; javascript: 996; objc: 80; tcl: 73; awk: 46; php: 22
file content (73 lines) | stat: -rw-r--r-- 2,089 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.\" 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