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/mysqli | ahristov | 15 Feb |