]> granicus.if.org Git - php/commitdiff
cvs sync
authorAndrey Hristov <andrey@php.net>
Mon, 11 Feb 2008 16:44:48 +0000 (16:44 +0000)
committerAndrey Hristov <andrey@php.net>
Mon, 11 Feb 2008 16:44:48 +0000 (16:44 +0000)
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd.h
ext/mysqlnd/mysqlnd_debug.c
ext/mysqlnd/mysqlnd_debug.h
ext/mysqlnd/mysqlnd_enum_n_def.h
ext/mysqlnd/mysqlnd_structs.h

index 190a3261942fe5c80107483b6a56e143164c0cb3..8fedcdca2d883dd2411d3a05f0b30794d240463b 100644 (file)
@@ -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;
 }
 /* }}} */
index 1ce2b1882de648f4de19f768b0742f23c157d680..b6d72021524f93bee169d91344085a68663497f7 100644 (file)
 #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
index d3811b3ae2be90b05a78f382ed56e2c4029b90a3..d2d2d3e72c0a763f58ce25ce91741aee58d0e34e 100644 (file)
@@ -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;
index d95bf65a963e01b06cf8792fb51f3fc11d801a34..151dbfd1d3c46cee45727a8934b6096941233ba6 100644 (file)
@@ -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, ...) {}
index c2aa48cdeae2561ff42591bd83bc2878da068dd8..940a6f7872391b94b52eadfb79cb09567578fd43 100644 (file)
@@ -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
index 55f15fd9f826babe09338156e7e20cf4ac0a398a..5da7bd2bb9cf32c5601064c29af52fe91b39d5d6 100644 (file)
@@ -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;