Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqlnd_ms_xa_commit(3) [php man page]

MYSQLND_MS_XA_COMMIT(3) 						 1						   MYSQLND_MS_XA_COMMIT(3)

mysqlnd_ms_xa_commit - Commits a distributed/XA transaction among MySQL servers

SYNOPSIS
int mysqlnd_ms_xa_commit (mixed $connection, string $gtrid) DESCRIPTION
Commits a global transaction among MySQL servers started by mysqlnd_ms_xa_begin(3). If any of the global transaction participants fails to commit an implicit rollback is performed. It may happen that not all cases can be handled during the rollback. For example, no attempts will be made to reconnect to a participant after the connection to the participant has been lost. Solving cases that cannot easily be rolled back is left to the garbage collection. Note Experimental The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments. PARAMETERS
o $connection - A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions. o $gtrid - Global transaction identifier (gtrid). RETURN VALUES
Returns TRUE if the global transaction has been committed. Otherwise, returns FALSE SEE ALSO
Quickstart XA/Distributed transactions, Runtime configuration, mysqlnd_ms_get_stats(3). PHP Documentation Group MYSQLND_MS_XA_COMMIT(3)

Check Out this Related Man Page

OCI_COMMIT(3)															     OCI_COMMIT(3)

oci_commit - Commits the outstanding database transaction

SYNOPSIS
bool oci_commit (resource $connection) DESCRIPTION
Commits the outstanding transaction for the Oracle $connection. A commit ends the current transaction and makes permanent all changes. It releases all locks held. A transaction begins when the first SQL statement that changes data is executed with oci_execute(3) using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed. When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons. PARAMETERS
o $connection - An Oracle connection identifier, returned by oci_connect(3), oci_pconnect(3), or oci_new_connect(3). RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 oci_commit(3) example <?php // Insert into several tables, rolling back the changes if an error occurs $conn = oci_connect('hr', 'welcome', 'localhost/XE'); $stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')"); // The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately // Use OCI_DEFAULT as the flag for PHP <= 5.3.1. The two flags are equivalent $r = oci_execute($stid, OCI_NO_AUTO_COMMIT); if (!$r) { $e = oci_error($stid); trigger_error(htmlentities($e['message']), E_USER_ERROR); } $stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)'); $r = oci_execute($stid, OCI_NO_AUTO_COMMIT); if (!$r) { $e = oci_error($stid); oci_rollback($conn); // rollback changes to both tables trigger_error(htmlentities($e['message']), E_USER_ERROR); } // Commit the changes to both tables $r = oci_commit($conn); if (!$r) { $e = oci_error($conn); trigger_error(htmlentities($e['message']), E_USER_ERROR); } ?> NOTES
Note Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit(3) to commit the transaction. Any call to oci_execute(3) that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction. Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction. SEE ALSO
oci_execute(3), oci_rollback(3). PHP Documentation Group OCI_COMMIT(3)
Man Page