List:Commits« Previous MessageNext Message »
From:ahristov Date:February 15 2008 11:03am
Subject:PHP mysqlnd svn commit: r1282 - in trunk: mysqlnd php6/ext/mysql php6/ext/mysqli
View as plain text  
Author: ahristov
Date: 2008-02-15 12:03:27 +0100 (Fri, 15 Feb 2008)
New Revision: 1282

Modified:
   trunk/mysqlnd/mysqlnd.c
   trunk/mysqlnd/mysqlnd.h
   trunk/mysqlnd/mysqlnd_debug.c
   trunk/mysqlnd/mysqlnd_wireprotocol.c
   trunk/mysqlnd/php_mysqlnd.c
   trunk/php6/ext/mysql/php_mysql.c
   trunk/php6/ext/mysqli/mysqli.c
Log:
Updates from cvs


Modified: trunk/mysqlnd/mysqlnd.c
===================================================================
--- trunk/mysqlnd/mysqlnd.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/mysqlnd/mysqlnd.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -930,11 +930,6 @@
 	MYSQLND **fwd = conn_array, **bckwd = conn_array;
 
 	while (*fwd) {
-		/* get the fd 
-		 * NB: Most other code will NOT use the PHP_STREAM_CAST_INTERNAL flag
-		 * when casting.  It is only used here so that the buffered data warning
-		 * is not displayed.
-		 */
 		if (SUCCESS == php_stream_cast((*fwd)->net.stream, PHP_STREAM_AS_FD_FOR_SELECT |
PHP_STREAM_CAST_INTERNAL,
 										(void*)&this_fd, 1) && this_fd >= 0) {
 			if (PHP_SAFE_FD_ISSET(this_fd, fds)) {

Modified: trunk/mysqlnd/mysqlnd.h
===================================================================
--- trunk/mysqlnd/mysqlnd.h	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/mysqlnd/mysqlnd.h	2008-02-15 11:03:27 UTC (rev 1282)
@@ -350,7 +350,7 @@
 	MYSQLND_DEBUG	*dbg;	/* The DBG object */
 	long			net_cmd_buffer_size;
 	long			net_read_buffer_size;
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	THREAD_T		thread_id;
 #endif
 ZEND_END_MODULE_GLOBALS(mysqlnd)

Modified: trunk/mysqlnd/mysqlnd_debug.c
===================================================================
--- trunk/mysqlnd/mysqlnd_debug.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/mysqlnd/mysqlnd_debug.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -95,7 +95,7 @@
 		 line_buffer[6], level_buffer[7];
 	MYSQLND_ZTS(self);
 
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		return PASS; /* don't trace background threads */
 	}
@@ -201,7 +201,7 @@
 		 line_buffer[6], level_buffer[7];
 	MYSQLND_ZTS(self);
 
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		return PASS; /* don't trace background threads */
 	}
@@ -303,11 +303,13 @@
 										  unsigned int line, const char * const file,
 										  char * func_name, uint func_name_len)
 {
+#ifdef MYSQLND_THREADED
 	MYSQLND_ZTS(self);
+#endif
 	if ((self->flags & MYSQLND_DEBUG_DUMP_TRACE) == 0 || self->file_name == NULL)
{
 		return FALSE;
 	}
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		return FALSE; /* don't trace background threads */
 	}
@@ -349,12 +351,13 @@
 										  const char * const file)
 {
 	char *func_name;
+#ifdef MYSQLND_THREADED
 	MYSQLND_ZTS(self);
-
+#endif
 	if ((self->flags & MYSQLND_DEBUG_DUMP_TRACE) == 0 || self->file_name == NULL)
{
 		return PASS;
 	}
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		return PASS; /* don't trace background threads */
 	}
@@ -667,7 +670,7 @@
 {
 	void *ret;
 	DBG_ENTER(mysqlnd_emalloc_name);
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		DBG_RETURN(_mysqlnd_pemalloc(size, 1 TSRMLS_CC ZEND_FILE_LINE_CC
ZEND_FILE_LINE_EMPTY_CC));
 	}
@@ -720,7 +723,7 @@
 {
 	void *ret;
 	DBG_ENTER(mysqlnd_ecalloc_name);
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		DBG_RETURN(_mysqlnd_pecalloc(nmemb, size, 1 TSRMLS_CC ZEND_FILE_LINE_CC
ZEND_FILE_LINE_EMPTY_CC));
 	}
@@ -773,7 +776,7 @@
 {
 	void *ret;
 	DBG_ENTER(mysqlnd_erealloc_name);
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		DBG_RETURN(_mysqlnd_perealloc(ptr, new_size, 1 TSRMLS_CC ZEND_FILE_LINE_CC
ZEND_FILE_LINE_EMPTY_CC));
 	}
@@ -827,7 +830,7 @@
 void _mysqlnd_efree(void *ptr MYSQLND_MEM_D)
 {
 	DBG_ENTER(mysqlnd_efree_name);
-#ifdef ZTS
+#ifdef MYSQLND_THREADED
 	if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
 		DBG_RETURN(_mysqlnd_pefree(ptr, 1 TSRMLS_CC ZEND_FILE_LINE_CC
ZEND_FILE_LINE_EMPTY_CC));
 	}

Modified: trunk/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- trunk/mysqlnd/mysqlnd_wireprotocol.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/mysqlnd/mysqlnd_wireprotocol.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -733,7 +733,7 @@
 void php_mysqlnd_auth_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
 	if (!alloca) {
-		mnd_efree((php_mysql_packet_auth *) _packet);
+		mnd_pefree((php_mysql_packet_auth *) _packet, ((php_mysql_packet_auth
*)_packet)->header.persistent);
 	}
 }
 /* }}} */
@@ -807,7 +807,7 @@
 		p->message = NULL;
 	}
 	if (!alloca) {
-		mnd_efree(p);
+		mnd_pefree(p, p->header.persistent);
 	}
 }
 /* }}} */
@@ -877,7 +877,7 @@
 void php_mysqlnd_eof_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
 	if (!alloca) {
-		mnd_efree(_packet);
+		mnd_pefree(_packet, ((php_mysql_packet_eof *)_packet)->header.persistent);
 	}
 }
 /* }}} */
@@ -949,7 +949,7 @@
 void php_mysqlnd_cmd_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
 	if (!alloca) {
-		mnd_efree((php_mysql_packet_command *) _packet);
+		mnd_pefree(_packet, ((php_mysql_packet_command *)_packet)->header.persistent);
 	}
 }
 /* }}} */
@@ -1036,7 +1036,7 @@
 		p->info_or_local_file = NULL;
 	}
 	if (!alloca) {
-		mnd_efree(p);
+		mnd_pefree(p, p->header.persistent);
 	}
 }
 /* }}} */
@@ -1227,7 +1227,7 @@
 
 	/* p->metadata was passed to us as temporal buffer */
 	if (!alloca) {
-		mnd_efree(p);
+		mnd_pefree(p, p->header.persistent);
 	}
 }
 /* }}} */

Modified: trunk/mysqlnd/php_mysqlnd.c
===================================================================
--- trunk/mysqlnd/php_mysqlnd.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/mysqlnd/php_mysqlnd.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -178,11 +178,12 @@
 /* }}} */
 
 
-#ifdef PHP_DEBUG
+#if defined(PHP_DEBUG) || defined(MYSQLND_THREADED)
 /* {{{ PHP_RINIT_FUNCTION
  */
 static PHP_RINIT_FUNCTION(mysqlnd)
 {
+#if defined(PHP_DEBUG)
 	if (MYSQLND_G(debug)) {
 		MYSQLND_DEBUG *dbg = mysqlnd_debug_init(TSRMLS_C);
 		if (!dbg) {
@@ -190,8 +191,11 @@
 		}
 		dbg->m->set_mode(dbg, MYSQLND_G(debug));
 		MYSQLND_G(dbg) = dbg;
-		MYSQLND_G(thread_id) = tsrm_thread_id();
 	}
+#endif
+#ifdef MYSQLND_THREADED
+	MYSQLND_G(thread_id) = tsrm_thread_id();
+#endif
 	return SUCCESS;
 }
 /* }}} */
@@ -222,12 +226,15 @@
 	mysqlnd_functions,
 	PHP_MINIT(mysqlnd),
 	PHP_MSHUTDOWN(mysqlnd),
+#ifdef PHP_DEBUG || defined(MYSQLND_THREADED)
+	PHP_RINIT(mysqlnd),
+#else
+	NULL,
+#endif
 #ifdef PHP_DEBUG
-	PHP_RINIT(mysqlnd),
 	PHP_RSHUTDOWN(mysqlnd),
 #else
 	NULL,
-	NULL,
 #endif
 	PHP_MINFO(mysqlnd),
 	MYSQLND_VERSION,

Modified: trunk/php6/ext/mysql/php_mysql.c
===================================================================
--- trunk/php6/ext/mysql/php_mysql.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/php6/ext/mysql/php_mysql.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -642,18 +642,22 @@
 		host_and_port = MySG(default_host);
 		user = MySG(default_user);
 		passwd = MySG(default_password);
-		
-		if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s&s&s&bl",
&host_and_port, &host_len, UG(utf8_conv),
+	
+		/* mysql_pconnect does not support new_link parameter */
+		if (persistent) {	
+			if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s&s&s&l",
&host_and_port, &host_len, UG(utf8_conv),
 									&user, &user_len, UG(utf8_conv), &passwd, &passwd_len,
UG(utf8_conv),
+									&client_flags)==FAILURE) {
+				return;
+			}
+		} else {
+			if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s&s&s&bl",
&host_and_port, &host_len, UG(utf8_conv),
+									&user, &user_len, UG(utf8_conv), &passwd, &passwd_len,
UG(utf8_conv),
 									&new_link, &client_flags)==FAILURE) {
-			return;
+				return;
+			}
 		}
 
-		/* mysql_pconnect does not support new_link parameter */
-		if (persistent) {
-			client_flags= new_link;
-		}
-
 		/* disable local infile option for open_basedir */
 		if (((PG(open_basedir) && PG(open_basedir)[0] != '\0')) &&
(client_flags & CLIENT_LOCAL_FILES)) {
 			client_flags ^= CLIENT_LOCAL_FILES;

Modified: trunk/php6/ext/mysqli/mysqli.c
===================================================================
--- trunk/php6/ext/mysqli/mysqli.c	2008-02-15 10:48:37 UTC (rev 1281)
+++ trunk/php6/ext/mysqli/mysqli.c	2008-02-15 11:03:27 UTC (rev 1282)
@@ -75,8 +75,9 @@
 void php_mysqli_dtor_p_elements(void *data)
 {
 	MYSQL *mysql = (MYSQL *) data;
+#if defined(HAVE_MYSQLND)
 	TSRMLS_FETCH();
-#if defined(HAVE_MYSQLND)
+
 	mysqlnd_end_psession(mysql);
 #endif
 	mysqli_close(mysql, MYSQLI_CLOSE_IMPLICIT);
@@ -780,17 +781,16 @@
 	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", 
+	/* We use non-nested macros with expansion, as VC has problems */
 #ifdef HAVE_MYSQLND
-	MYSQLND_DBG_ENABLED
+	REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", MYSQLND_DBG_ENABLED, CONST_CS |
CONST_PERSISTENT);
 #else
 #ifndef DBUG_OFF
-	0
+	REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", 0, CONST_CS | CONST_PERSISTENT);
 #else
-	1
+	REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", 1, CONST_CS | CONST_PERSISTENT);
 #endif
 #endif
-	, CONST_CS | CONST_PERSISTENT);
 
 	return SUCCESS;
 }

Thread
PHP mysqlnd svn commit: r1282 - in trunk: mysqlnd php6/ext/mysql php6/ext/mysqliahristov15 Feb