[prev in list] [next in list] [prev in thread] [next in thread]
List: pecl-cvs
Subject: [PECL-CVS] com =?UTF-8?Q?pecl/database/mysql=5Fxdevapi=3A=20WL=23=31=32=32=38=30=3A?= =?UTF-8?Q?=20c
From: hery ramilison <mysqlre () php ! net>
Date: 2018-07-30 18:32:18
Message-ID: php-mail-b78f9b6ea0224a882ed4e47f160695be1646549487 () git ! php ! net
[Download RAW message or body]
Commit: 790229bc9ab917a2956f588abe8ee00091a547fd
Author: Darek Slusarczyk <dariusz.slusarczyk@oracle.com> Mon, 30 Jul 2018 \
20:32:18 +0200
Parents: a8157a90dc3b4737f593190353acd04498424a93
Branches: release/8.0.13
Link: http://git.php.net/?p=pecl/database/mysql_xdevapi.git;a=commitdiff;h=790229bc9ab917a2956f588abe8ee00091a547fd
Log:
WL#12280: connection error handling - throw an exception
- fix valgrind issues
Bugs:
https://bugs.php.net/12280
Changed paths:
M xmysqlnd/xmysqlnd_session.cc
Diff:
diff --git a/xmysqlnd/xmysqlnd_session.cc b/xmysqlnd/xmysqlnd_session.cc
index 162a17c..5459aed 100644
--- a/xmysqlnd/xmysqlnd_session.cc
+++ b/xmysqlnd/xmysqlnd_session.cc
@@ -3235,7 +3235,7 @@ PHP_MYSQL_XDEVAPI_API
* For each address attempt to perform a connection
* (The addresses are sorted by priority)
*/
- const MYSQLND_ERROR_INFO* last_error_info{nullptr};
+ MYSQLND_ERROR_INFO last_error_info{0};
for( auto&& current_uri : uris ) {
DBG_INF_FMT("Attempting to connect with: %s\n",
current_uri.first.c_str());
@@ -3264,7 +3264,11 @@ PHP_MYSQL_XDEVAPI_API
ret = establish_connection(session,auth,
url.first,url.second);
if (ret == FAIL) {
- last_error_info = session->session->get_data()->get_error_info();
+ const MYSQLND_ERROR_INFO* session_error_info{
+ session->session->get_data()->get_error_info() };
+ if (session_error_info) {
+ last_error_info = *session_error_info;
+ }
}
}
} else {
@@ -3290,13 +3294,11 @@ PHP_MYSQL_XDEVAPI_API
if( uris.size() > 1) {
devapi::RAISE_EXCEPTION( err_msg_all_routers_failed );
- } else if (last_error_info) {
+ } else if (last_error_info.error_no) {
throw util::xdevapi_exception(
- last_error_info->error_no ?
- last_error_info->error_no :
- static_cast<unsigned int>(util::xdevapi_exception::Code::connection_failure),
- last_error_info->sqlstate,
- last_error_info->error);
+ last_error_info.error_no,
+ last_error_info.sqlstate,
+ last_error_info.error);
}
}
DBG_RETURN(ret);
--
PECL CVS Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic