diff options
author | Dharman <tekiela246@gmail.com> | 2020-12-21 16:45:14 +0000 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-01-04 12:31:56 +0100 |
commit | 2f1d32d25c72b9a2f7c2957de3e4150c6d9be2a4 (patch) | |
tree | 44e58b70a3f33b0596e8eda32de6fff98e141e73 /ext/mysqlnd/mysqlnd_connection.c | |
parent | 9b269df6af75364ba7d7f5161bb30b338f148082 (diff) | |
download | php-git-2f1d32d25c72b9a2f7c2957de3e4150c6d9be2a4.tar.gz |
Avoid throwing warnings in mysqlnd
Instead report them as proper client errors.
Closes GH-6530.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_connection.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_connection.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/mysqlnd/mysqlnd_connection.c b/ext/mysqlnd/mysqlnd_connection.c index 4d25488ee6..1134eb99b5 100644 --- a/ext/mysqlnd/mysqlnd_connection.c +++ b/ext/mysqlnd/mysqlnd_connection.c @@ -774,8 +774,10 @@ err: DBG_ERR_FMT("[%u] %.128s (trying to connect via %s)", conn->error_info->error_no, conn->error_info->error, conn->scheme.s); if (!conn->error_info->error_no) { - SET_CLIENT_ERROR(conn->error_info, CR_CONNECTION_ERROR, UNKNOWN_SQLSTATE, conn->error_info->error); - php_error_docref(NULL, E_WARNING, "[%u] %.128s (trying to connect via %s)", conn->error_info->error_no, conn->error_info->error, conn->scheme.s); + char * msg; + mnd_sprintf(&msg, 0, "%s (trying to connect via %s)",conn->error_info->error, conn->scheme.s); + SET_CLIENT_ERROR(conn->error_info, CR_CONNECTION_ERROR, UNKNOWN_SQLSTATE, msg); + mnd_sprintf_free(msg); } conn->m->free_contents(conn); @@ -2100,9 +2102,9 @@ MYSQLND_METHOD(mysqlnd_conn_data, tx_begin)(MYSQLND_CONN_DATA * conn, const unsi } ret = conn->m->query(conn, query, query_len); mnd_sprintf_free(query); - if (ret && mode & (TRANS_START_READ_WRITE | TRANS_START_READ_ONLY) && - mysqlnd_stmt_errno(conn) == 1064) { - php_error_docref(NULL, E_WARNING, "This server version doesn't support 'READ WRITE' and 'READ ONLY'. Minimum 5.6.5 is required"); + if (ret && mode & (TRANS_START_READ_WRITE | TRANS_START_READ_ONLY) && mysqlnd_stmt_errno(conn) == 1064) { + SET_CLIENT_ERROR(conn->error_info, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE, + "This server version doesn't support 'READ WRITE' and 'READ ONLY'. Minimum 5.6.5 is required"); break; } } |