-
Notifications
You must be signed in to change notification settings - Fork 788
/
Copy pathibase-trans.xml
112 lines (107 loc) · 3.63 KB
/
ibase-trans.xml
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.ibase-trans">
<refnamediv>
<refname>ibase_trans</refname>
<refpurpose>Begin a transaction</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>ibase_trans</methodname>
<methodparam choice="opt"><type>int</type><parameter>trans_args</parameter></methodparam>
<methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>resource</type><methodname>ibase_trans</methodname>
<methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>trans_args</parameter></methodparam>
</methodsynopsis>
<para>
Begins a transaction.
</para>
<note>
<para>
The first call to <function>ibase_trans</function> will not return the default transaction
of a connection. All transactions started by <function>ibase_trans</function>
will be rolled back at the end of the script if they were not committed or
rolled back by either <function>ibase_commit</function> or
<function>ibase_rollback</function>.
</para>
</note>
<note>
<para>
This function will accept multiple <parameter>trans_args</parameter>
and <parameter>link_identifier</parameter> arguments. This allows transactions
over multiple database connections, which are committed using a 2-phase commit
algorithm. This means you can rely on the updates to either succeed in every
database, or fail in every database. It does NOT mean you can use tables from
different databases in the same query!
</para>
<para>
If you use transactions over multiple databases, you will have to specify both
the <parameter>link_id</parameter> and <parameter>transaction_id</parameter>
in calls to <function>ibase_query</function> and <function>ibase_prepare</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>trans_args</parameter></term>
<listitem>
<para>
<parameter>trans_args</parameter> can be a combination of
<constant>IBASE_READ</constant>,
<constant>IBASE_WRITE</constant>,
<constant>IBASE_COMMITTED</constant>,
<constant>IBASE_CONSISTENCY</constant>,
<constant>IBASE_CONCURRENCY</constant>,
<constant>IBASE_REC_VERSION</constant>,
<constant>IBASE_REC_NO_VERSION</constant>,
<constant>IBASE_WAIT</constant> and
<constant>IBASE_NOWAIT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>link_identifier</parameter></term>
<listitem>
<para>
An InterBase link identifier. If omitted, the last opened link is
assumed.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns a transaction handle, or &false; on error.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->