From: Andrey Hristov Date: Mon, 11 Feb 2008 16:44:48 +0000 (+0000) Subject: cvs sync X-Git-Tag: RELEASE_1_3_1~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cf07e941f10a2ce263b3888e8b8950b17d0e21e5;p=php cvs sync --- diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 190a326194..8fedcdca2d 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -725,6 +725,13 @@ PHP_MINIT_FUNCTION(mysqli) REGISTER_LONG_CONSTANT("MYSQLI_NUM_FLAG", NUM_FLAG, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_PART_KEY_FLAG", PART_KEY_FLAG, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_GROUP_FLAG", GROUP_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ENUM_FLAG", ENUM_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_BINARY_FLAG", BINARY_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NO_DEFAULT_VALUE_FLAG", NO_DEFAULT_VALUE_FLAG, CONST_CS | CONST_PERSISTENT); + +#if (MYSQL_VERSION_ID > 51122 && MYSQL_VERSION_ID < 60000) || (MYSQLI_VERSION_ID > 60003) || defined(HAVE_MYSQLND) + REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_CS | CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DECIMAL", FIELD_TYPE_DECIMAL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_CS | CONST_PERSISTENT); @@ -773,6 +780,18 @@ PHP_MINIT_FUNCTION(mysqli) REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", 0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", +#ifdef HAVE_MYSQLND + MYSQLND_DBG_ENABLED +#else +#ifndef DBUG_OFF + 0 +#else + 1 +#endif +#endif + , CONST_CS | CONST_PERSISTENT); + return SUCCESS; } /* }}} */ diff --git a/ext/mysqlnd/mysqlnd.h b/ext/mysqlnd/mysqlnd.h index 1ce2b1882d..b6d7202152 100644 --- a/ext/mysqlnd/mysqlnd.h +++ b/ext/mysqlnd/mysqlnd.h @@ -46,6 +46,12 @@ #define MYSQLND_DO_WIRE_CHECK_BEFORE_COMMAND 1 #endif +#if PHP_DEBUG && !defined(PHP_WIN32) +#define MYSQLND_DBG_ENABLED 1 +#else +#define MYSQLND_DBG_ENABLED 0 +#endif + #ifdef ZTS #include "TSRM.h" #endif diff --git a/ext/mysqlnd/mysqlnd_debug.c b/ext/mysqlnd/mysqlnd_debug.c index d3811b3ae2..d2d2d3e72c 100644 --- a/ext/mysqlnd/mysqlnd_debug.c +++ b/ext/mysqlnd/mysqlnd_debug.c @@ -433,7 +433,8 @@ MYSQLND_METHOD(mysqlnd_debug, set_mode)(MYSQLND_DEBUG * self, const char * const } i = j; } else { - self->file_name = (char *) mysqlnd_debug_default_trace_file; + if (!self->file_name) + self->file_name = (char *) mysqlnd_debug_default_trace_file; } state = PARSER_WAIT_COLON; break; @@ -491,9 +492,10 @@ MYSQLND_METHOD(mysqlnd_debug, set_mode)(MYSQLND_DEBUG * self, const char * const if ((i + 1) < mode_len && mode[i+1] == ',') { i+= 2; while (i < mode_len) { - if (mode[i++] == ':') { + if (mode[i] == ':') { break; } + i++; } } state = PARSER_WAIT_COLON; diff --git a/ext/mysqlnd/mysqlnd_debug.h b/ext/mysqlnd/mysqlnd_debug.h index d95bf65a96..151dbfd1d3 100644 --- a/ext/mysqlnd/mysqlnd_debug.h +++ b/ext/mysqlnd/mysqlnd_debug.h @@ -78,7 +78,8 @@ void _mysqlnd_free(void *ptr MYSQLND_MEM_D); char * mysqlnd_get_backtrace(TSRMLS_D); -#if PHP_DEBUG && !defined(PHP_WIN32) +#if MYSQLND_DBG_ENABLED == 1 + #define DBG_INF(msg) do { if (dbg_skip_trace == FALSE) MYSQLND_G(dbg)->m->log(MYSQLND_G(dbg), __LINE__, __FILE__, -1, "info : ", (msg)); } while (0) #define DBG_ERR(msg) do { if (dbg_skip_trace == FALSE) MYSQLND_G(dbg)->m->log(MYSQLND_G(dbg), __LINE__, __FILE__, -1, "error: ", (msg)); } while (0) #define DBG_INF_FMT(...) do { if (dbg_skip_trace == FALSE) MYSQLND_G(dbg)->m->log_va(MYSQLND_G(dbg), __LINE__, __FILE__, -1, "info : ", __VA_ARGS__); } while (0) @@ -90,7 +91,9 @@ char * mysqlnd_get_backtrace(TSRMLS_D); -#else +#elif MYSQLND_DBG_ENABLED == 0 + + static inline void DBG_INF(char *msg) {} static inline void DBG_ERR(char *msg) {} static inline void DBG_INF_FMT(char *format, ...) {} diff --git a/ext/mysqlnd/mysqlnd_enum_n_def.h b/ext/mysqlnd/mysqlnd_enum_n_def.h index c2aa48cdea..940a6f7872 100644 --- a/ext/mysqlnd/mysqlnd_enum_n_def.h +++ b/ext/mysqlnd/mysqlnd_enum_n_def.h @@ -210,6 +210,7 @@ typedef enum mysqlnd_server_option #define TIMESTAMP_FLAG 1024 #define SET_FLAG 2048 #define NO_DEFAULT_VALUE_FLAG 4096 +#define ON_UPDATE_NOW_FLAG 8192 #define PART_KEY_FLAG 16384 #define GROUP_FLAG 32768 #define NUM_FLAG 32768 diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h index 55f15fd9f8..5da7bd2bb9 100644 --- a/ext/mysqlnd/mysqlnd_structs.h +++ b/ext/mysqlnd/mysqlnd_structs.h @@ -399,9 +399,6 @@ struct st_mysqlnd_connection unsigned long client_flag; unsigned long server_capabilities; - int tmp_int; - - /* For UPSERT queries */ mysqlnd_upsert_status upsert_status; char *last_message;