--- /dev/null
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 2006-2010 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | 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 <georg@mysql.com> |
+ | Andrey Hristov <andrey@mysql.com> |
+ | Ulf Wendel <uwendel@mysql.com> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id: mysqlnd.c 306407 2010-12-16 12:56:19Z andrey $ */
+#include "php.h"
+#include "mysqlnd.h"
+#include "mysqlnd_wireprotocol.h"
+#include "mysqlnd_priv.h"
+#include "mysqlnd_result.h"
+#include "mysqlnd_statistics.h"
+#include "mysqlnd_charset.h"
+#include "mysqlnd_debug.h"
+/* for php_get_current_user() */
+#include "ext/standard/basic_functions.h"
+
+
+/*--------------------------------------------------------------------*/
+
+static enum_func_status mysqlnd_example_plugin_end(void * p TSRMLS_DC);
+
+static MYSQLND_STATS * mysqlnd_plugin_example_stats = NULL;
+
+enum mysqlnd_plugin_example_collected_stats
+{
+ EXAMPLE_STAT1,
+ EXAMPLE_STAT2,
+ EXAMPLE_STAT_LAST
+};
+
+static const MYSQLND_STRING mysqlnd_plugin_example_stats_values_names[EXAMPLE_STAT_LAST] =
+{
+ { MYSQLND_STR_W_LEN("stat1") },
+ { MYSQLND_STR_W_LEN("stat2") }
+};
+
+static struct st_mysqlnd_typeii_plugin_example mysqlnd_example_plugin =
+{
+ {
+ MYSQLND_PLUGIN_API_VERSION,
+ "example",
+ 10001L,
+ "1.00.01",
+ "PHP License",
+ "Andrey Hristov <andrey@php.net>",
+ {
+ NULL, /* will be filled later */
+ mysqlnd_plugin_example_stats_values_names,
+ },
+ {
+ mysqlnd_example_plugin_end
+ }
+ },
+ NULL, /* methods */
+};
+
+
+/* {{{ mysqlnd_plugin_subsystem_init */
+static
+enum_func_status mysqlnd_example_plugin_end(void * p TSRMLS_DC)
+{
+#if A0
+ struct st_mysqlnd_typeii_plugin_example * plugin = (struct st_mysqlnd_typeii_plugin_example *) p;
+#endif
+ DBG_ENTER("mysqlnd_example_plugin_end");
+
+ DBG_RETURN(PASS);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_subsystem_init */
+void
+mysqlnd_example_plugin_register(TSRMLS_D)
+{
+ mysqlnd_stats_init(&mysqlnd_plugin_example_stats, EXAMPLE_STAT_LAST);
+ mysqlnd_example_plugin.plugin_header.plugin_stats.values = mysqlnd_plugin_example_stats;
+ mysqlnd_plugin_register_ex((struct st_mysqlnd_plugin_header *) &mysqlnd_example_plugin TSRMLS_CC);
+}
+/* }}} */
+
+/*--------------------------------------------------------------------*/
+
+static HashTable mysqlnd_registered_plugins;
+
+static unsigned int mysqlnd_plugins_counter = 0;
+
+
+/* {{{ mysqlnd_plugin_subsystem_init */
+void
+mysqlnd_plugin_subsystem_init(TSRMLS_D)
+{
+ zend_hash_init(&mysqlnd_registered_plugins, 4 /* initial hash size */, NULL /* hash_func */, NULL /* dtor */, TRUE /* pers */);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_subsystem_init */
+int
+mysqlnd_plugin_end_apply_func(void *pDest TSRMLS_DC)
+{
+ struct st_mysqlnd_plugin_header * plugin_header = *(struct st_mysqlnd_plugin_header **) pDest;
+ if (plugin_header->m.plugin_shutdown) {
+ plugin_header->m.plugin_shutdown(plugin_header TSRMLS_CC);
+ }
+ return ZEND_HASH_APPLY_REMOVE;
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_subsystem_end */
+void
+mysqlnd_plugin_subsystem_end(TSRMLS_D)
+{
+ zend_hash_apply(&mysqlnd_registered_plugins, mysqlnd_plugin_end_apply_func TSRMLS_CC);
+ zend_hash_destroy(&mysqlnd_registered_plugins);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_register */
+PHPAPI unsigned int mysqlnd_plugin_register()
+{
+ TSRMLS_FETCH();
+ return mysqlnd_plugin_register_ex(NULL TSRMLS_CC);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_register */
+PHPAPI unsigned int mysqlnd_plugin_register_ex(struct st_mysqlnd_plugin_header * plugin TSRMLS_DC)
+{
+ if (plugin) {
+ if (plugin->plugin_api_version == MYSQLND_PLUGIN_API_VERSION) {
+ zend_hash_update(&mysqlnd_registered_plugins, plugin->plugin_name, strlen(plugin->plugin_name) + 1, &plugin, sizeof(void *), NULL);
+ ++mysqlnd_plugins_counter;
+ } else {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Plugin API version mismatch while loading plugin %s. Expected %d, got %d",
+ plugin->plugin_name, MYSQLND_PLUGIN_API_VERSION, plugin->plugin_api_version);
+ }
+ }
+ return mysqlnd_plugins_counter;
+
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_find */
+PHPAPI void * _mysqlnd_plugin_find(const char * const name TSRMLS_DC)
+{
+ void * plugin;
+ if (SUCCESS == zend_hash_find(&mysqlnd_registered_plugins, name, strlen(name) + 1, (void **) &plugin)) {
+ return (void *)*(char **) plugin;
+ }
+ return NULL;
+
+}
+/* }}} */
+
+
+/* {{{ _mysqlnd_plugin_apply_with_argument */
+PHPAPI void _mysqlnd_plugin_apply_with_argument(apply_func_arg_t apply_func, void * argument TSRMLS_DC)
+{
+ zend_hash_apply_with_argument(&mysqlnd_registered_plugins, apply_func, argument TSRMLS_CC);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_plugin_count */
+PHPAPI unsigned int mysqlnd_plugin_count()
+{
+ return mysqlnd_plugins_counter;
+}
+/* }}} */
+
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
+ */
#include "mysqlnd_debug.h"
-#define STR_W_LEN(str) str, (sizeof(str) - 1)
-
/* {{{ mysqlnd_stats_values_names
*/
const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] =
{
- { STR_W_LEN("bytes_sent") },
- { STR_W_LEN("bytes_received") },
- { STR_W_LEN("packets_sent") },
- { STR_W_LEN("packets_received") },
- { STR_W_LEN("protocol_overhead_in") },
- { STR_W_LEN("protocol_overhead_out") },
- { STR_W_LEN("bytes_received_ok_packet") },
- { STR_W_LEN("bytes_received_eof_packet") },
- { STR_W_LEN("bytes_received_rset_header_packet") },
- { STR_W_LEN("bytes_received_rset_field_meta_packet") },
- { STR_W_LEN("bytes_received_rset_row_packet") },
- { STR_W_LEN("bytes_received_prepare_response_packet") },
- { STR_W_LEN("bytes_received_change_user_packet") },
- { STR_W_LEN("packets_sent_command") },
- { STR_W_LEN("packets_received_ok") },
- { STR_W_LEN("packets_received_eof") },
- { STR_W_LEN("packets_received_rset_header") },
- { STR_W_LEN("packets_received_rset_field_meta") },
- { STR_W_LEN("packets_received_rset_row") },
- { STR_W_LEN("packets_received_prepare_response") },
- { STR_W_LEN("packets_received_change_user") },
- { STR_W_LEN("result_set_queries") },
- { STR_W_LEN("non_result_set_queries") },
- { STR_W_LEN("no_index_used") },
- { STR_W_LEN("bad_index_used") },
- { STR_W_LEN("slow_queries") },
- { STR_W_LEN("buffered_sets") },
- { STR_W_LEN("unbuffered_sets") },
- { STR_W_LEN("ps_buffered_sets") },
- { STR_W_LEN("ps_unbuffered_sets") },
- { STR_W_LEN("flushed_normal_sets") },
- { STR_W_LEN("flushed_ps_sets") },
- { STR_W_LEN("ps_prepared_never_executed") },
- { STR_W_LEN("ps_prepared_once_executed") },
- { STR_W_LEN("rows_fetched_from_server_normal") },
- { STR_W_LEN("rows_fetched_from_server_ps") },
- { STR_W_LEN("rows_buffered_from_client_normal") },
- { STR_W_LEN("rows_buffered_from_client_ps") },
- { STR_W_LEN("rows_fetched_from_client_normal_buffered") },
- { STR_W_LEN("rows_fetched_from_client_normal_unbuffered") },
- { STR_W_LEN("rows_fetched_from_client_ps_buffered") },
- { STR_W_LEN("rows_fetched_from_client_ps_unbuffered") },
- { STR_W_LEN("rows_fetched_from_client_ps_cursor") },
- { STR_W_LEN("rows_affected_normal") },
- { STR_W_LEN("rows_affected_ps") },
- { STR_W_LEN("rows_skipped_normal") },
- { STR_W_LEN("rows_skipped_ps") },
- { STR_W_LEN("copy_on_write_saved") },
- { STR_W_LEN("copy_on_write_performed") },
- { STR_W_LEN("command_buffer_too_small") },
- { STR_W_LEN("connect_success") },
- { STR_W_LEN("connect_failure") },
- { STR_W_LEN("connection_reused") },
- { STR_W_LEN("reconnect") },
- { STR_W_LEN("pconnect_success") },
- { STR_W_LEN("active_connections") },
- { STR_W_LEN("active_persistent_connections") },
- { STR_W_LEN("explicit_close") },
- { STR_W_LEN("implicit_close") },
- { STR_W_LEN("disconnect_close") },
- { STR_W_LEN("in_middle_of_command_close") },
- { STR_W_LEN("explicit_free_result") },
- { STR_W_LEN("implicit_free_result") },
- { STR_W_LEN("explicit_stmt_close") },
- { STR_W_LEN("implicit_stmt_close") },
- { STR_W_LEN("mem_emalloc_count") },
- { STR_W_LEN("mem_emalloc_amount") },
- { STR_W_LEN("mem_ecalloc_count") },
- { STR_W_LEN("mem_ecalloc_amount") },
- { STR_W_LEN("mem_erealloc_count") },
- { STR_W_LEN("mem_erealloc_amount") },
- { STR_W_LEN("mem_efree_count") },
- { STR_W_LEN("mem_efree_amount") },
- { STR_W_LEN("mem_malloc_count") },
- { STR_W_LEN("mem_malloc_amount") },
- { STR_W_LEN("mem_calloc_count") },
- { STR_W_LEN("mem_calloc_amount") },
- { STR_W_LEN("mem_realloc_count") },
- { STR_W_LEN("mem_realloc_amount") },
- { STR_W_LEN("mem_free_count") },
- { STR_W_LEN("mem_free_amount") },
- { STR_W_LEN("mem_estrndup_count") },
- { STR_W_LEN("mem_strndup_count") },
- { STR_W_LEN("mem_estndup_count") },
- { STR_W_LEN("mem_strdup_count") },
- { STR_W_LEN("proto_text_fetched_null") },
- { STR_W_LEN("proto_text_fetched_bit") },
- { STR_W_LEN("proto_text_fetched_tinyint") },
- { STR_W_LEN("proto_text_fetched_short") },
- { STR_W_LEN("proto_text_fetched_int24") },
- { STR_W_LEN("proto_text_fetched_int") },
- { STR_W_LEN("proto_text_fetched_bigint") },
- { STR_W_LEN("proto_text_fetched_decimal") },
- { STR_W_LEN("proto_text_fetched_float") },
- { STR_W_LEN("proto_text_fetched_double") },
- { STR_W_LEN("proto_text_fetched_date") },
- { STR_W_LEN("proto_text_fetched_year") },
- { STR_W_LEN("proto_text_fetched_time") },
- { STR_W_LEN("proto_text_fetched_datetime") },
- { STR_W_LEN("proto_text_fetched_timestamp") },
- { STR_W_LEN("proto_text_fetched_string") },
- { STR_W_LEN("proto_text_fetched_blob") },
- { STR_W_LEN("proto_text_fetched_enum") },
- { STR_W_LEN("proto_text_fetched_set") },
- { STR_W_LEN("proto_text_fetched_geometry") },
- { STR_W_LEN("proto_text_fetched_other") },
- { STR_W_LEN("proto_binary_fetched_null") },
- { STR_W_LEN("proto_binary_fetched_bit") },
- { STR_W_LEN("proto_binary_fetched_tinyint") },
- { STR_W_LEN("proto_binary_fetched_short") },
- { STR_W_LEN("proto_binary_fetched_int24") },
- { STR_W_LEN("proto_binary_fetched_int") },
- { STR_W_LEN("proto_binary_fetched_bigint") },
- { STR_W_LEN("proto_binary_fetched_decimal") },
- { STR_W_LEN("proto_binary_fetched_float") },
- { STR_W_LEN("proto_binary_fetched_double") },
- { STR_W_LEN("proto_binary_fetched_date") },
- { STR_W_LEN("proto_binary_fetched_year") },
- { STR_W_LEN("proto_binary_fetched_time") },
- { STR_W_LEN("proto_binary_fetched_datetime") },
- { STR_W_LEN("proto_binary_fetched_timestamp") },
- { STR_W_LEN("proto_binary_fetched_string") },
- { STR_W_LEN("proto_binary_fetched_blob") },
- { STR_W_LEN("proto_binary_fetched_enum") },
- { STR_W_LEN("proto_binary_fetched_set") },
- { STR_W_LEN("proto_binary_fetched_geometry") },
- { STR_W_LEN("proto_binary_fetched_other") },
- { STR_W_LEN("init_command_executed_count") },
- { STR_W_LEN("init_command_failed_count") },
- { STR_W_LEN("com_quit") },
- { STR_W_LEN("com_init_db") },
- { STR_W_LEN("com_query") },
- { STR_W_LEN("com_field_list") },
- { STR_W_LEN("com_create_db") },
- { STR_W_LEN("com_drop_db") },
- { STR_W_LEN("com_refresh") },
- { STR_W_LEN("com_shutdown") },
- { STR_W_LEN("com_statistics") },
- { STR_W_LEN("com_process_info") },
- { STR_W_LEN("com_connect") },
- { STR_W_LEN("com_process_kill") },
- { STR_W_LEN("com_debug") },
- { STR_W_LEN("com_ping") },
- { STR_W_LEN("com_time") },
- { STR_W_LEN("com_delayed_insert") },
- { STR_W_LEN("com_change_user") },
- { STR_W_LEN("com_binlog_dump") },
- { STR_W_LEN("com_table_dump") },
- { STR_W_LEN("com_connect_out") },
- { STR_W_LEN("com_register_slave") },
- { STR_W_LEN("com_stmt_prepare") },
- { STR_W_LEN("com_stmt_execute") },
- { STR_W_LEN("com_stmt_send_long_data") },
- { STR_W_LEN("com_stmt_close") },
- { STR_W_LEN("com_stmt_reset") },
- { STR_W_LEN("com_stmt_set_option") },
- { STR_W_LEN("com_stmt_fetch") },
- { STR_W_LEN("com_deamon") },
- { STR_W_LEN("bytes_received_real_data_normal") },
- { STR_W_LEN("bytes_received_real_data_ps") }
+ { MYSQLND_STR_W_LEN("bytes_sent") },
+ { MYSQLND_STR_W_LEN("bytes_received") },
+ { MYSQLND_STR_W_LEN("packets_sent") },
+ { MYSQLND_STR_W_LEN("packets_received") },
+ { MYSQLND_STR_W_LEN("protocol_overhead_in") },
+ { MYSQLND_STR_W_LEN("protocol_overhead_out") },
+ { MYSQLND_STR_W_LEN("bytes_received_ok_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_eof_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_rset_header_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_rset_field_meta_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_rset_row_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_prepare_response_packet") },
+ { MYSQLND_STR_W_LEN("bytes_received_change_user_packet") },
+ { MYSQLND_STR_W_LEN("packets_sent_command") },
+ { MYSQLND_STR_W_LEN("packets_received_ok") },
+ { MYSQLND_STR_W_LEN("packets_received_eof") },
+ { MYSQLND_STR_W_LEN("packets_received_rset_header") },
+ { MYSQLND_STR_W_LEN("packets_received_rset_field_meta") },
+ { MYSQLND_STR_W_LEN("packets_received_rset_row") },
+ { MYSQLND_STR_W_LEN("packets_received_prepare_response") },
+ { MYSQLND_STR_W_LEN("packets_received_change_user") },
+ { MYSQLND_STR_W_LEN("result_set_queries") },
+ { MYSQLND_STR_W_LEN("non_result_set_queries") },
+ { MYSQLND_STR_W_LEN("no_index_used") },
+ { MYSQLND_STR_W_LEN("bad_index_used") },
+ { MYSQLND_STR_W_LEN("slow_queries") },
+ { MYSQLND_STR_W_LEN("buffered_sets") },
+ { MYSQLND_STR_W_LEN("unbuffered_sets") },
+ { MYSQLND_STR_W_LEN("ps_buffered_sets") },
+ { MYSQLND_STR_W_LEN("ps_unbuffered_sets") },
+ { MYSQLND_STR_W_LEN("flushed_normal_sets") },
+ { MYSQLND_STR_W_LEN("flushed_ps_sets") },
+ { MYSQLND_STR_W_LEN("ps_prepared_never_executed") },
+ { MYSQLND_STR_W_LEN("ps_prepared_once_executed") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_server_normal") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_server_ps") },
+ { MYSQLND_STR_W_LEN("rows_buffered_from_client_normal") },
+ { MYSQLND_STR_W_LEN("rows_buffered_from_client_ps") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_client_normal_buffered") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_client_normal_unbuffered") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_client_ps_buffered") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_client_ps_unbuffered") },
+ { MYSQLND_STR_W_LEN("rows_fetched_from_client_ps_cursor") },
+ { MYSQLND_STR_W_LEN("rows_affected_normal") },
+ { MYSQLND_STR_W_LEN("rows_affected_ps") },
+ { MYSQLND_STR_W_LEN("rows_skipped_normal") },
+ { MYSQLND_STR_W_LEN("rows_skipped_ps") },
+ { MYSQLND_STR_W_LEN("copy_on_write_saved") },
+ { MYSQLND_STR_W_LEN("copy_on_write_performed") },
+ { MYSQLND_STR_W_LEN("command_buffer_too_small") },
+ { MYSQLND_STR_W_LEN("connect_success") },
+ { MYSQLND_STR_W_LEN("connect_failure") },
+ { MYSQLND_STR_W_LEN("connection_reused") },
+ { MYSQLND_STR_W_LEN("reconnect") },
+ { MYSQLND_STR_W_LEN("pconnect_success") },
+ { MYSQLND_STR_W_LEN("active_connections") },
+ { MYSQLND_STR_W_LEN("active_persistent_connections") },
+ { MYSQLND_STR_W_LEN("explicit_close") },
+ { MYSQLND_STR_W_LEN("implicit_close") },
+ { MYSQLND_STR_W_LEN("disconnect_close") },
+ { MYSQLND_STR_W_LEN("in_middle_of_command_close") },
+ { MYSQLND_STR_W_LEN("explicit_free_result") },
+ { MYSQLND_STR_W_LEN("implicit_free_result") },
+ { MYSQLND_STR_W_LEN("explicit_stmt_close") },
+ { MYSQLND_STR_W_LEN("implicit_stmt_close") },
+ { MYSQLND_STR_W_LEN("mem_emalloc_count") },
+ { MYSQLND_STR_W_LEN("mem_emalloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_ecalloc_count") },
+ { MYSQLND_STR_W_LEN("mem_ecalloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_erealloc_count") },
+ { MYSQLND_STR_W_LEN("mem_erealloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_efree_count") },
+ { MYSQLND_STR_W_LEN("mem_efree_amount") },
+ { MYSQLND_STR_W_LEN("mem_malloc_count") },
+ { MYSQLND_STR_W_LEN("mem_malloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_calloc_count") },
+ { MYSQLND_STR_W_LEN("mem_calloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_realloc_count") },
+ { MYSQLND_STR_W_LEN("mem_realloc_amount") },
+ { MYSQLND_STR_W_LEN("mem_free_count") },
+ { 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_strdup_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") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_short") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_int24") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_int") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_bigint") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_decimal") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_float") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_double") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_date") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_year") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_time") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_datetime") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_timestamp") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_string") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_blob") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_enum") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_set") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_geometry") },
+ { MYSQLND_STR_W_LEN("proto_text_fetched_other") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_null") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_bit") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_tinyint") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_short") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_int24") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_int") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_bigint") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_decimal") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_float") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_double") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_date") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_year") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_time") },
+ { 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_blob") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_enum") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_set") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_geometry") },
+ { MYSQLND_STR_W_LEN("proto_binary_fetched_other") },
+ { MYSQLND_STR_W_LEN("init_command_executed_count") },
+ { MYSQLND_STR_W_LEN("init_command_failed_count") },
+ { MYSQLND_STR_W_LEN("com_quit") },
+ { MYSQLND_STR_W_LEN("com_init_db") },
+ { MYSQLND_STR_W_LEN("com_query") },
+ { MYSQLND_STR_W_LEN("com_field_list") },
+ { MYSQLND_STR_W_LEN("com_create_db") },
+ { MYSQLND_STR_W_LEN("com_drop_db") },
+ { MYSQLND_STR_W_LEN("com_refresh") },
+ { MYSQLND_STR_W_LEN("com_shutdown") },
+ { MYSQLND_STR_W_LEN("com_statistics") },
+ { MYSQLND_STR_W_LEN("com_process_info") },
+ { MYSQLND_STR_W_LEN("com_connect") },
+ { MYSQLND_STR_W_LEN("com_process_kill") },
+ { MYSQLND_STR_W_LEN("com_debug") },
+ { MYSQLND_STR_W_LEN("com_ping") },
+ { MYSQLND_STR_W_LEN("com_time") },
+ { MYSQLND_STR_W_LEN("com_delayed_insert") },
+ { MYSQLND_STR_W_LEN("com_change_user") },
+ { MYSQLND_STR_W_LEN("com_binlog_dump") },
+ { MYSQLND_STR_W_LEN("com_table_dump") },
+ { MYSQLND_STR_W_LEN("com_connect_out") },
+ { MYSQLND_STR_W_LEN("com_register_slave") },
+ { MYSQLND_STR_W_LEN("com_stmt_prepare") },
+ { MYSQLND_STR_W_LEN("com_stmt_execute") },
+ { MYSQLND_STR_W_LEN("com_stmt_send_long_data") },
+ { MYSQLND_STR_W_LEN("com_stmt_close") },
+ { MYSQLND_STR_W_LEN("com_stmt_reset") },
+ { MYSQLND_STR_W_LEN("com_stmt_set_option") },
+ { MYSQLND_STR_W_LEN("com_stmt_fetch") },
+ { MYSQLND_STR_W_LEN("com_deamon") },
+ { MYSQLND_STR_W_LEN("bytes_received_real_data_normal") },
+ { MYSQLND_STR_W_LEN("bytes_received_real_data_ps") }
};
/* }}} */