From e07e4f4bb3dca81010e4ae956dfd7de5376fdb8c Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Wed, 23 Sep 2015 17:27:18 +0200 Subject: Fix for Bug #70384 mysqli_real_query(): Unknown type 245 sent by the server --- ext/mysqlnd/mysqlnd_statistics.c | 1 + 1 file changed, 1 insertion(+) (limited to 'ext/mysqlnd/mysqlnd_statistics.c') diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c index 094ea11f3d..6050e38e86 100644 --- a/ext/mysqlnd/mysqlnd_statistics.c +++ b/ext/mysqlnd/mysqlnd_statistics.c @@ -153,6 +153,7 @@ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] = { MYSQLND_STR_W_LEN("proto_binary_fetched_datetime") }, { MYSQLND_STR_W_LEN("proto_binary_fetched_timestamp") }, { MYSQLND_STR_W_LEN("proto_binary_fetched_string") }, + { MYSQLND_STR_W_LEN("proto_binary_fetched_json") }, { MYSQLND_STR_W_LEN("proto_binary_fetched_blob") }, { MYSQLND_STR_W_LEN("proto_binary_fetched_enum") }, { MYSQLND_STR_W_LEN("proto_binary_fetched_set") }, -- cgit v1.2.1 From 2e3fc57c5c205e352a805830fd3ec4c7dbfa2efa Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Tue, 10 Nov 2015 14:25:06 +0100 Subject: MNDR: - move things out of mysqlnd_priv.h --- ext/mysqlnd/mysqlnd_statistics.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'ext/mysqlnd/mysqlnd_statistics.c') diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c index 6050e38e86..bbd2eb0643 100644 --- a/ext/mysqlnd/mysqlnd_statistics.c +++ b/ext/mysqlnd/mysqlnd_statistics.c @@ -12,13 +12,10 @@ | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ - | Authors: Georg Richter | - | Andrey Hristov | + | Authors: Andrey Hristov | | Ulf Wendel | +----------------------------------------------------------------------+ */ - -/* $Id$ */ #include "php.h" #include "mysqlnd.h" #include "mysqlnd_priv.h" @@ -26,9 +23,7 @@ #include "mysqlnd_debug.h" -/* {{{ mysqlnd_stats_values_names - */ - +/* {{{ mysqlnd_stats_values_names */ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] = { { MYSQLND_STR_W_LEN("bytes_sent") }, -- cgit v1.2.1 From e4173bd15c0860a2d9f6a6b0c4844e939b98d523 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Mon, 16 Nov 2015 16:23:39 +0100 Subject: mysqlnd refactoring: - reorganize the statistics code a bit. There is one mysqlnd specific function, for convenience, in mysqlnd_statistics.c - namelyu _mysqlnd_get_client_stats(). The mysqlnd specific stats macros are moved to mysqlnd.h to keep mysqlnd_statistics.h from being mysqlnd specific. --- ext/mysqlnd/mysqlnd_statistics.c | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'ext/mysqlnd/mysqlnd_statistics.c') diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c index bbd2eb0643..247e627ef2 100644 --- a/ext/mysqlnd/mysqlnd_statistics.c +++ b/ext/mysqlnd/mysqlnd_statistics.c @@ -208,25 +208,9 @@ mysqlnd_fill_stats_hash(const MYSQLND_STATS * const stats, const MYSQLND_STRING /* }}} */ -/* {{{ _mysqlnd_get_client_stats */ -PHPAPI void -_mysqlnd_get_client_stats(zval *return_value ZEND_FILE_LINE_DC) -{ - MYSQLND_STATS stats, *stats_ptr = mysqlnd_global_stats; - DBG_ENTER("_mysqlnd_get_client_stats"); - if (!stats_ptr) { - memset(&stats, 0, sizeof(stats)); - stats_ptr = &stats; - } - mysqlnd_fill_stats_hash(stats_ptr, mysqlnd_stats_values_names, return_value ZEND_FILE_LINE_CC); - DBG_VOID_RETURN; -} -/* }}} */ - - /* {{{ mysqlnd_stats_init */ PHPAPI void -mysqlnd_stats_init(MYSQLND_STATS ** stats, size_t statistic_count, int persistent) +mysqlnd_stats_init(MYSQLND_STATS ** stats, const size_t statistic_count, const zend_bool persistent) { *stats = pecalloc(1, sizeof(MYSQLND_STATS), persistent); if (*stats == NULL) { @@ -245,7 +229,7 @@ mysqlnd_stats_init(MYSQLND_STATS ** stats, size_t statistic_count, int persisten /* {{{ mysqlnd_stats_end */ PHPAPI void -mysqlnd_stats_end(MYSQLND_STATS * stats, int persistent) +mysqlnd_stats_end(MYSQLND_STATS * stats, const zend_bool persistent) { #ifdef ZTS tsrm_mutex_free(stats->LOCK_access); @@ -291,6 +275,25 @@ mysqlnd_stats_reset_triggers(MYSQLND_STATS * const stats) /* }}} */ +/************ MYSQLND specific code **********/ + +/* {{{ _mysqlnd_get_client_stats */ +PHPAPI void +_mysqlnd_get_client_stats(MYSQLND_STATS * stats_ptr, zval *return_value ZEND_FILE_LINE_DC) +{ + MYSQLND_STATS stats; + DBG_ENTER("_mysqlnd_get_client_stats"); + if (!stats_ptr) { + memset(&stats, 0, sizeof(stats)); + stats_ptr = &stats; + } + mysqlnd_fill_stats_hash(stats_ptr, mysqlnd_stats_values_names, return_value ZEND_FILE_LINE_CC); + DBG_VOID_RETURN; +} +/* }}} */ + + + /* * Local variables: * tab-width: 4 -- cgit v1.2.1 From a19173e4af5ee82dce9c9d8211a064e7f77c68d9 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Mon, 4 Jan 2016 16:48:35 +0100 Subject: - Make functions static, as they are not needed to be public - exported through a structure - Fixed typo in statistic name - Added 2 static functions for copying a MYSQLND_CSTRING and converting a CSTRING to STRING. --- ext/mysqlnd/mysqlnd_statistics.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ext/mysqlnd/mysqlnd_statistics.c') diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c index e329b3bb10..b1d37949a9 100644 --- a/ext/mysqlnd/mysqlnd_statistics.c +++ b/ext/mysqlnd/mysqlnd_statistics.c @@ -109,8 +109,10 @@ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] = { MYSQLND_STR_W_LEN("mem_free_amount") }, { MYSQLND_STR_W_LEN("mem_estrndup_count") }, { MYSQLND_STR_W_LEN("mem_strndup_count") }, - { MYSQLND_STR_W_LEN("mem_estndup_count") }, + { MYSQLND_STR_W_LEN("mem_estrdup_count") }, { MYSQLND_STR_W_LEN("mem_strdup_count") }, + { MYSQLND_STR_W_LEN("mem_edupl_count") }, + { MYSQLND_STR_W_LEN("mem_dupl_count") }, { MYSQLND_STR_W_LEN("proto_text_fetched_null") }, { MYSQLND_STR_W_LEN("proto_text_fetched_bit") }, { MYSQLND_STR_W_LEN("proto_text_fetched_tinyint") }, -- cgit v1.2.1