Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqlnd_ms_get_last_gtid(3) [php man page]

MYSQLND_MS_GET_LAST_GTID(3)						 1					       MYSQLND_MS_GET_LAST_GTID(3)

mysqlnd_ms_get_last_gtid - Returns the latest global transaction ID

SYNOPSIS
string mysqlnd_ms_get_last_gtid (mixed $connection) DESCRIPTION
Returns a global transaction identifier which belongs to a write operation no older than the last write performed by the client. It is not guaranteed that the global transaction identifier is identical to that one created for the last write transaction performed by the client. PARAMETERS
o $connection - A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli> or ext/mysql. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions. RETURN VALUES
Returns a global transaction ID (GTID) on success. Otherwise, returns FALSE. The function mysqlnd_ms_get_last_gtid(3) returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. The function may be called after the GTID has been incremented. NOTES
Note mysqlnd_ms_get_last_gtid(3) requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C func- tionality not available with PHP 5.3. Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only. EXAMPLES
Example #1 mysqlnd_ms_get_last_gtid(3) example <?php /* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */ $mysqli = new mysqli("myapp", "username", "password", "database"); if (!$mysqli) /* Of course, your error handling is nicer... */ die(sprintf("[%d] %s ", mysqli_connect_errno(), mysqli_connect_error())); /* auto commit mode, transaction on master, GTID must be incremented */ if (!$mysqli->query("DROP TABLE IF EXISTS test")) die(sprintf("[%d] %s ", $mysqli->errno, $mysqli->error)); printf("GTID after transaction %s ", mysqlnd_ms_get_last_gtid($mysqli)); /* auto commit mode, transaction on master, GTID must be incremented */ if (!$mysqli->query("CREATE TABLE test(id INT)")) die(sprintf("[%d] %s ", $mysqli->errno, $mysqli->error)); printf("GTID after transaction %s ", mysqlnd_ms_get_last_gtid($mysqli)); ?> SEE ALSO
Global Transaction IDs. PHP Documentation Group MYSQLND_MS_GET_LAST_GTID(3)

Check Out this Related Man Page

MYSQLI_THREAD_ID(3)							 1						       MYSQLI_THREAD_ID(3)

mysqli::$thread_id - Returns the thread ID for the current connection

       Object oriented style

SYNOPSIS
int$mysqli->thread_id () DESCRIPTION
Procedural style int mysqli_thread_id (mysqli $link) The mysqli_thread_id(3) function returns the thread ID for the current connection which can then be killed using the mysqli_kill(3) func- tion. If the connection is lost and you reconnect with mysqli_ping(3), the thread ID will be other. Therefore you should get the thread ID only when you need it. Note The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned. To kill a running query you can use the SQL command KILL QUERY processid. PARAMETERS
o $ link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3) RETURN VALUES
Returns the Thread ID for the current connection. EXAMPLES
Example #1 $mysqli->thread_id example Object oriented style <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", mysqli_connect_error()); exit(); } /* determine our thread id */ $thread_id = $mysqli->thread_id; /* Kill connection */ $mysqli->kill($thread_id); /* This should produce an error */ if (!$mysqli->query("CREATE TABLE myCity LIKE City")) { printf("Error: %s ", $mysqli->error); exit; } /* close connection */ $mysqli->close(); ?> Procedural style <?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", mysqli_connect_error()); exit(); } /* determine our thread id */ $thread_id = mysqli_thread_id($link); /* Kill connection */ mysqli_kill($link, $thread_id); /* This should produce an error */ if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) { printf("Error: %s ", mysqli_error($link)); exit; } /* close connection */ mysqli_close($link); ?> The above examples will output: Error: MySQL server has gone away SEE ALSO
mysqli_kill(3). PHP Documentation Group MYSQLI_THREAD_ID(3)
Man Page