php-doc-en/reference/ibase/functions/ibase-trans.xml
Kenneth Schwartz 0d5b621340 bug #27390
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@152311 c90b9560-bf6c-de11-be94-00142212c4b1
2004-02-25 10:43:03 +00:00

72 lines
2.7 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/ibase.xml, last change in rev 1.23 -->
<refentry id="function.ibase-trans">
<refnamediv>
<refname>ibase_trans</refname>
<refpurpose>Begin a transaction</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<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>
<para>
Begins a transaction.
</para>
<para>
<parameter>trans_args</parameter> can be a combination of
IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY,
IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION,
IBASE_WAIT and IBASE_NOWAIT.
</para>
<note>
<para>
The behaviour of this function has been changed in PHP 5.0.0. 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>
In PHP 5.0.0. and up, 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>
</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:"../../../../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
-->