summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-02-11 16:44:48 +0000
committerAndrey Hristov <andrey@php.net>2008-02-11 16:44:48 +0000
commitcf07e941f10a2ce263b3888e8b8950b17d0e21e5 (patch)
treea07b007c8cadf50896375d8c76e42ce2129ec504
parent80861c001e4cee45b2f405bec0474ba431cfc4f1 (diff)
downloadphp-git-cf07e941f10a2ce263b3888e8b8950b17d0e21e5.tar.gz
cvs sync
-rw-r--r--ext/mysqli/mysqli.c19
-rw-r--r--ext/mysqlnd/mysqlnd.h6
-rw-r--r--ext/mysqlnd/mysqlnd_debug.c6
-rw-r--r--ext/mysqlnd/mysqlnd_debug.h7
-rw-r--r--ext/mysqlnd/mysqlnd_enum_n_def.h1
-rw-r--r--ext/mysqlnd/mysqlnd_structs.h3
6 files changed, 35 insertions, 7 deletions
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;