Browse Source

Update mysqlnd

PECL
Andrey Hristov 19 years ago
parent
commit
8256272540
  1. 4
      ext/mysqlnd/mysqlnd.c
  2. 9
      ext/mysqlnd/mysqlnd.h
  3. 6
      ext/mysqlnd/mysqlnd_enum_n_def.h
  4. 4
      ext/mysqlnd/mysqlnd_libmysql_compat.h
  5. 1
      ext/mysqlnd/mysqlnd_palloc.c
  6. 14
      ext/mysqlnd/mysqlnd_result.c
  7. 1
      ext/mysqlnd/mysqlnd_statistics.c
  8. 3
      ext/mysqlnd/php_mysqlnd.c

4
ext/mysqlnd/mysqlnd.c

@ -1390,7 +1390,7 @@ MYSQLND_METHOD(mysqlnd_conn, info)(const MYSQLND * const conn)
}
/* }}} */
#if !defined(MYSQLND_USE_OPTIMISATIONS) || MYSQLND_USE_OPTIMISATIONS == 0
/* {{{ mysqlnd_get_client_info */
PHPAPI const char * mysqlnd_get_client_info()
{
@ -1405,7 +1405,7 @@ PHPAPI unsigned int mysqlnd_get_client_version()
return MYSQLND_VERSION_ID;
}
/* }}} */
#endif
/* {{{ mysqlnd_conn::get_server_info */
static const char *

9
ext/mysqlnd/mysqlnd.h

@ -23,8 +23,8 @@
#ifndef MYSQLND_H
#define MYSQLND_H
#define MYSQLND_VERSION "mysqlnd 5.0.3-dev - 080129 - $Revision$"
#define MYSQLND_VERSION_ID 50002
#define MYSQLND_VERSION "mysqlnd 5.0.4-dev - 080501 - $Revision$"
#define MYSQLND_VERSION_ID 50004
/* This forces inlining of some accessor functions */
#define MYSQLND_USE_OPTIMISATIONS 0
@ -138,13 +138,13 @@ PHPAPI void _mysqlnd_debug(const char *mode TSRMLS_DC);
#define mysqlnd_get_proto_info(conn) (conn)->protocol_version
#define mysqlnd_thread_id(conn) (conn)->thread_id
#define mysqlnd_num_rows(result) ((result)->data? (result)->data->row_count:0)
#define mysqlnd_num_rows(result) ((result)->stored_data? (result)->stored_data->row_count:0)
#define mysqlnd_num_fields(result) (result)->field_count
#define mysqlnd_fetch_lengths(result) ((result)->m.fetch_lengths? (result)->m.fetch_lengths((result)):NULL)
#define mysqlnd_field_seek(result, ofs) (result)->m.seek_field((result), (ofs))
#define mysqlnd_field_tell(result) (result)->meta? (result)->meta->current_field:0)
#define mysqlnd_field_tell(result) ((result)->meta? (result)->meta->current_field:0)
#define mysqlnd_fetch_field(result) (result)->m.fetch_field((result) TSRMLS_CC)
#define mysqlnd_fetch_field_direct(result,fnr) ((result)->meta? &((result)->meta->fields[(fnr)]):NULL)
#define mysqlnd_fetch_fields(result) ((result)->meta? (result)->meta->fields: NULL)
@ -358,6 +358,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqlnd)
MYSQLND_DEBUG *dbg; /* The DBG object */
long net_cmd_buffer_size;
long net_read_buffer_size;
long log_mask;
#ifdef MYSQLND_THREADED
THREAD_T thread_id;
#endif

6
ext/mysqlnd/mysqlnd_enum_n_def.h

@ -31,8 +31,8 @@
#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
#define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
#define MYSQLND_SERVER_QUERY_NO_GOOD_INDEX_USED 16
#define MYSQLND_SERVER_QUERY_NO_INDEX_USED 32
#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
#define SERVER_QUERY_NO_INDEX_USED 32
/*
The server was able to fulfill the clients request and opened a
read-only non-scrollable cursor for a query. This flag comes
@ -48,7 +48,6 @@
#define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
#define SERVER_QUERY_WAS_SLOW 1024
#define MYSQLND_NO_DATA 100
#define MYSQLND_DATA_TRUNCATED 101
@ -316,6 +315,7 @@ typedef enum mysqlnd_collected_stats
STAT_NON_RSET_QUERY,
STAT_NO_INDEX_USED,
STAT_BAD_INDEX_USED,
STAT_QUERY_WAS_SLOW,
STAT_BUFFERED_SETS,
STAT_UNBUFFERED_SETS,
STAT_PS_BUFFERED_SETS,

4
ext/mysqlnd/mysqlnd_libmysql_compat.h

@ -38,10 +38,6 @@
#define MYSQL_ERRMSG_SIZE MYSQLND_ERRMSG_SIZE
#define SQLSTATE_LENGTH MYSQLND_SQLSTATE_LENGTH
#define SERVER_QUERY_NO_GOOD_INDEX_USED MYSQLND_SERVER_QUERY_NO_GOOD_INDEX_USED
#define SERVER_QUERY_NO_INDEX_USED MYSQLND_SERVER_QUERY_NO_INDEX_USED
/* functions */
#define mysql_affected_rows(r) mysqlnd_affected_rows((r))
#define mysql_autocommit(r,m) mysqlnd_autocommit((r),(m))

1
ext/mysqlnd/mysqlnd_palloc.c

@ -132,7 +132,6 @@ PHPAPI MYSQLND_THD_ZVAL_PCACHE* _mysqlnd_palloc_init_thd_cache(MYSQLND_ZVAL_PCAC
MYSQLND_THD_ZVAL_PCACHE *ret = calloc(1, sizeof(MYSQLND_THD_ZVAL_PCACHE));
DBG_ENTER("_mysqlnd_palloc_init_thd_cache");
DBG_INF_FMT("ret = %p", ret);
ret->parent = mysqlnd_palloc_get_cache_reference(cache);
#ifdef ZTS

14
ext/mysqlnd/mysqlnd_result.c

@ -583,6 +583,8 @@ mysqlnd_query_read_result_set_header(MYSQLND *conn, MYSQLND_STMT *stmt TSRMLS_DC
stmt->state = MYSQLND_STMT_INITTED;
}
} else {
unsigned int to_log = MYSQLND_G(log_mask);
to_log &= fields_eof.server_status;
DBG_INF_FMT("warnings=%u server_status=%u", fields_eof.warning_count, fields_eof.server_status);
conn->upsert_status.warning_count = fields_eof.warning_count;
/*
@ -593,12 +595,14 @@ mysqlnd_query_read_result_set_header(MYSQLND *conn, MYSQLND_STMT *stmt TSRMLS_DC
of every result set (the EOF packet).
*/
conn->upsert_status.server_status = fields_eof.server_status;
if (fields_eof.server_status & MYSQLND_SERVER_QUERY_NO_GOOD_INDEX_USED) {
if (fields_eof.server_status & SERVER_QUERY_NO_GOOD_INDEX_USED) {
stat = STAT_BAD_INDEX_USED;
} else if (fields_eof.server_status & MYSQLND_SERVER_QUERY_NO_INDEX_USED) {
} else if (fields_eof.server_status & SERVER_QUERY_NO_INDEX_USED) {
stat = STAT_NO_INDEX_USED;
} else if (fields_eof.server_status & SERVER_QUERY_WAS_SLOW) {
stat = STAT_QUERY_WAS_SLOW;
}
if (stat != STAT_LAST) {
if (to_log) {
#if A0
char *backtrace = mysqlnd_get_backtrace(TSRMLS_C);
php_log_err(backtrace TSRMLS_CC);
@ -706,14 +710,14 @@ unsigned long * mysqlnd_fetch_lengths_unbuffered(MYSQLND_RES * const result)
}
/* }}} */
#if !defined(MYSQLND_USE_OPTIMISATIONS) || MYSQLND_USE_OPTIMISATIONS == 0
/* {{{ mysqlnd_res::fetch_lengths */
PHPAPI unsigned long * mysqlnd_fetch_lengths(MYSQLND_RES * const result)
{
return result->m.fetch_lengths? result->m.fetch_lengths(result):NULL;
}
/* }}} */
#endif
/* {{{ mysqlnd_fetch_row_unbuffered_c */
static MYSQLND_ROW_C

1
ext/mysqlnd/mysqlnd_statistics.c

@ -42,6 +42,7 @@ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] =
{ 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") },

3
ext/mysqlnd/php_mysqlnd.c

@ -26,6 +26,7 @@
#include "mysqlnd_debug.h"
#include "ext/standard/info.h"
/* {{{ mysqlnd_functions[]
*
* Every user visible function must have an entry in mysqlnd_functions[].
@ -138,6 +139,7 @@ static PHP_GINIT_FUNCTION(mysqlnd)
mysqlnd_globals->dbg = NULL; /* The DBG object*/
mysqlnd_globals->net_cmd_buffer_size = 2048;
mysqlnd_globals->net_read_buffer_size = 32768;
mysqlnd_globals->log_mask = 0;
}
/* }}} */
@ -150,6 +152,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("mysqlnd.debug", NULL, PHP_INI_SYSTEM, OnUpdateString, debug, zend_mysqlnd_globals, mysqlnd_globals)
STD_PHP_INI_ENTRY("mysqlnd.net_cmd_buffer_size", "2048", PHP_INI_ALL, OnUpdateLong, net_cmd_buffer_size, zend_mysqlnd_globals, mysqlnd_globals)
STD_PHP_INI_ENTRY("mysqlnd.net_read_buffer_size", "32768",PHP_INI_ALL, OnUpdateLong, net_read_buffer_size, zend_mysqlnd_globals, mysqlnd_globals)
STD_PHP_INI_ENTRY("mysqlnd.log_mask", "0", PHP_INI_ALL, OnUpdateLong, log_mask, zend_mysqlnd_globals, mysqlnd_globals)
PHP_INI_END()
/* }}} */

Loading…
Cancel
Save