[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c

2008-10-28 Thread Andrey Hristov
andrey  Tue Oct 28 10:45:32 2008 UTC

  Modified files:  
/php-src/ext/mysql  php_mysql.c 
/php-src/ext/mysqli mysqli_nonapi.c 
  Log:
  Fix compiler warning (MFB: Ilia)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.267r2=1.268diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.267 php-src/ext/mysql/php_mysql.c:1.268
--- php-src/ext/mysql/php_mysql.c:1.267 Mon Oct 27 12:07:35 2008
+++ php-src/ext/mysql/php_mysql.c   Tue Oct 28 10:45:31 2008
@@ -18,7 +18,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.267 2008/10/27 12:07:35 andrey Exp $ */
+/* $Id: php_mysql.c,v 1.268 2008/10/28 10:45:31 andrey Exp $ */
 
 /* TODO:
  *
@@ -634,7 +634,7 @@
 #if !defined(MYSQL_USE_MYSQLND)
if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
-   Headers and client library 
minor version mismatch. Headers:%d Library:%d,
+   Headers and client library 
minor version mismatch. Headers:%d Library:%ld,
MYSQL_VERSION_ID, 
mysql_get_client_version());
}
 #endif
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.88r2=1.89diff_format=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.88 
php-src/ext/mysqli/mysqli_nonapi.c:1.89
--- php-src/ext/mysqli/mysqli_nonapi.c:1.88 Mon Oct 27 14:30:51 2008
+++ php-src/ext/mysqli/mysqli_nonapi.c  Tue Oct 28 10:45:31 2008
@@ -17,7 +17,7 @@
   |  Ulf Wendel [EMAIL PROTECTED]
 |
   +--+
 
-  $Id: mysqli_nonapi.c,v 1.88 2008/10/27 14:30:51 andrey Exp $ 
+  $Id: mysqli_nonapi.c,v 1.89 2008/10/28 10:45:31 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -64,7 +64,7 @@
 #if !defined(MYSQL_USE_MYSQLND)
if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
-   Headers and client library 
minor version mismatch. Headers:%d Library:%d,
+   Headers and client library 
minor version mismatch. Headers:%d Library:%ld,
MYSQL_VERSION_ID, 
mysql_get_client_version());
}
 #endif



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c

2008-10-27 Thread Andrey Hristov
andrey  Mon Oct 27 12:07:35 2008 UTC

  Modified files:  
/php-src/ext/mysql  php_mysql.c 
/php-src/ext/mysqli mysqli_nonapi.c 
  Log:
  Warning if the library API version differs from the headers used to compile.
  Patch versions are not considered but major.minor
  Fix build of ext/mysql with 4.0.x and pre.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.266r2=1.267diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.266 php-src/ext/mysql/php_mysql.c:1.267
--- php-src/ext/mysql/php_mysql.c:1.266 Tue Oct 21 22:05:30 2008
+++ php-src/ext/mysql/php_mysql.c   Mon Oct 27 12:07:35 2008
@@ -18,7 +18,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.266 2008/10/21 22:05:30 lbarnaud Exp $ */
+/* $Id: php_mysql.c,v 1.267 2008/10/27 12:07:35 andrey Exp $ */
 
 /* TODO:
  *
@@ -124,10 +124,14 @@
 #endif
 
 
+#ifdef CLIENT_MULTI_STATEMENTS
 #define MYSQL_DISABLE_MQ if (mysql-multi_query) { \
mysql_set_server_option(mysql-conn, 
MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
mysql-multi_query = 0; \
-} 
+}
+#else
+#define MYSQL_DISABLE_MQ
+#endif
 
 
 /* {{{ mysql_functions[]
@@ -627,6 +631,13 @@
zend_bool free_host=0, new_link=0;
long connect_timeout;
 
+#if !defined(MYSQL_USE_MYSQLND)
+   if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING,
+   Headers and client library 
minor version mismatch. Headers:%d Library:%d,
+   MYSQL_VERSION_ID, 
mysql_get_client_version());
+   }
+#endif
 
connect_timeout = MySG(connect_timeout);
 
@@ -682,8 +693,9 @@
client_flags ^= CLIENT_LOCAL_FILES;
}
 
+#ifdef CLIENT_MULTI_STATEMENTS
client_flags = ~CLIENT_MULTI_STATEMENTS;   /* don't allow 
multi_queries via connect parameter */
-
+#endif
hashed_details_length = spprintf(hashed_details, 0, 
mysql_%s_%s_%s_%ld, SAFE_STRING(host_and_port), SAFE_STRING(user), 
SAFE_STRING(passwd), client_flags);
}
 
@@ -735,7 +747,11 @@
/* create the link */
mysql = (php_mysql_conn *) 
malloc(sizeof(php_mysql_conn));
mysql-active_result_id = 0;
+#ifdef CLIENT_MULTI_STATEMENTS
mysql-multi_query = client_flags  
CLIENT_MULTI_STATEMENTS? 1:0;
+#else
+   mysql-multi_query = 0;
+#endif
 #ifndef MYSQL_USE_MYSQLND
mysql-conn = mysql_init(NULL);
 #else
@@ -800,7 +816,11 @@
}
mysql = (php_mysql_conn *) le-ptr;
mysql-active_result_id = 0;
+#ifdef CLIENT_MULTI_STATEMENTS
mysql-multi_query = client_flags  
CLIENT_MULTI_STATEMENTS? 1:0;
+#else
+   mysql-multi_query = 0;
+#endif
/* ensure that the link did not die */
 #if defined(MYSQL_USE_MYSQLND)
mysqlnd_end_psession(mysql-conn);
@@ -882,7 +902,11 @@
 
mysql = (php_mysql_conn *) emalloc(sizeof(php_mysql_conn));
mysql-active_result_id = 0;
+#ifdef CLIENT_MULTI_STATEMENTS
mysql-multi_query = 1;
+#else
+   mysql-multi_query = 0;
+#endif
 #ifndef MYSQL_USE_MYSQLND
mysql-conn = mysql_init(NULL);
 #else
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.86r2=1.87diff_format=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.86 
php-src/ext/mysqli/mysqli_nonapi.c:1.87
--- php-src/ext/mysqli/mysqli_nonapi.c:1.86 Mon Aug 11 12:32:47 2008
+++ php-src/ext/mysqli/mysqli_nonapi.c  Mon Oct 27 12:07:35 2008
@@ -17,7 +17,7 @@
   |  Ulf Wendel [EMAIL PROTECTED]
 |
   +--+
 
-  $Id: mysqli_nonapi.c,v 1.86 2008/08/11 12:32:47 johannes Exp $ 
+  $Id: mysqli_nonapi.c,v 1.87 2008/10/27 12:07:35 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -61,6 +61,14 @@
zend_rsrc_list_entry*le;
mysqli_plist_entry *plist = NULL;
 
+#if !defined(MYSQL_USE_MYSQLND)
+   if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING,
+   Headers and client library 
minor version mismatch. Headers:%d Library:%d,
+   MYSQL_VERSION_ID, 
mysql_get_client_version());
+   }
+#endif
+
if (getThis()  !ZEND_NUM_ARGS()  in_ctor) {
RETURN_NULL();
}



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c

2008-07-22 Thread Andrey Hristov
andrey  Tue Jul 22 23:43:14 2008 UTC

  Modified files:  
/php-src/ext/mysql  php_mysql.c 
/php-src/ext/mysqli mysqli_nonapi.c 
  Log:
  Two less failing tests, one of which was definitely a leak in mysqli with 
mysqlnd
  and pconn. ext/mysql is being fixed with a better fix for similar leak.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.262r2=1.263diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.262 php-src/ext/mysql/php_mysql.c:1.263
--- php-src/ext/mysql/php_mysql.c:1.262 Tue Jul 22 17:40:43 2008
+++ php-src/ext/mysql/php_mysql.c   Tue Jul 22 23:43:14 2008
@@ -18,7 +18,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.262 2008/07/22 17:40:43 andrey Exp $ */
+/* $Id: php_mysql.c,v 1.263 2008/07/22 23:43:14 andrey Exp $ */
 
 /* TODO:
  *
@@ -802,6 +802,9 @@
mysql-active_result_id = 0;
mysql-multi_query = client_flags  
CLIENT_MULTI_STATEMENTS? 1:0;
/* ensure that the link did not die */
+#if defined(MYSQL_USE_MYSQLND)
+   mysqlnd_end_psession(mysql-conn);
+#endif 
if (mysql_ping(mysql-conn)) {
if (mysql_errno(mysql-conn) == 2006) {
if (UG(unicode)) {
@@ -1005,15 +1008,6 @@

ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, 
MySQL-Link, le_link, le_plink);
 
-#ifdef MYSQL_USE_MYSQLND
-   {
-   int tmp;
-   if ((mysql = zend_list_find(Z_RESVAL_PP(mysql_link), tmp))  
tmp == le_plink) {
-   mysqlnd_end_psession(mysql-conn);
-   }
-   }
-#endif
-
if (id==-1) { /* explicit resource number */
PHPMY_UNBUFFERED_QUERY_CHECK();
zend_list_delete(Z_RESVAL_PP(mysql_link));
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.84r2=1.85diff_format=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.84 
php-src/ext/mysqli/mysqli_nonapi.c:1.85
--- php-src/ext/mysqli/mysqli_nonapi.c:1.84 Tue Jun 24 11:19:07 2008
+++ php-src/ext/mysqli/mysqli_nonapi.c  Tue Jul 22 23:43:14 2008
@@ -17,7 +17,7 @@
   |  Ulf Wendel [EMAIL PROTECTED]
 |
   +--+
 
-  $Id: mysqli_nonapi.c,v 1.84 2008/06/24 11:19:07 andrey Exp $ 
+  $Id: mysqli_nonapi.c,v 1.85 2008/07/22 23:43:14 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -157,6 +157,9 @@
mysql-mysql = 
zend_ptr_stack_pop(plist-free_links);
 

MyG(num_inactive_persistent)--;
+#if defined(MYSQLI_USE_MYSQLND)
+   
mysqlnd_end_psession(mysql-mysql);
+#endif 
/* reset variables */
/* todo: option for 
ping or change_user */
 #if G0



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/mysql php_mysql.c /ext/mysqli mysqli_nonapi.c /ext/mysqlnd mysqlnd.c mysqlnd.h

2008-06-24 Thread Andrey Hristov
andrey  Tue Jun 24 11:19:07 2008 UTC

  Modified files:  
/php-src/ext/mysql  php_mysql.c 
/php-src/ext/mysqli mysqli_nonapi.c 
/php-src/ext/mysqlndmysqlnd.c mysqlnd.h 
  Log:
  Fix possible bug with persistent  connections
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.258r2=1.259diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.258 php-src/ext/mysql/php_mysql.c:1.259
--- php-src/ext/mysql/php_mysql.c:1.258 Wed Apr 16 12:53:18 2008
+++ php-src/ext/mysql/php_mysql.c   Tue Jun 24 11:19:07 2008
@@ -18,7 +18,7 @@
+--+
 */
  
-/* $Id: php_mysql.c,v 1.258 2008/04/16 12:53:18 andrey Exp $ */
+/* $Id: php_mysql.c,v 1.259 2008/06/24 11:19:07 andrey Exp $ */
 
 /* TODO:
  *
@@ -813,7 +813,7 @@
}
} else {
 #ifdef MYSQL_USE_MYSQLND
-   mysqlnd_restart_psession(mysql-conn);
+   mysqlnd_restart_psession(mysql-conn, 
MySG(mysqlnd_thd_zval_cache));
 #endif
}
}
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.83r2=1.84diff_format=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.83 
php-src/ext/mysqli/mysqli_nonapi.c:1.84
--- php-src/ext/mysqli/mysqli_nonapi.c:1.83 Tue Mar 25 18:28:12 2008
+++ php-src/ext/mysqli/mysqli_nonapi.c  Tue Jun 24 11:19:07 2008
@@ -17,7 +17,7 @@
   |  Ulf Wendel [EMAIL PROTECTED]
 |
   +--+
 
-  $Id: mysqli_nonapi.c,v 1.83 2008/03/25 18:28:12 andrey Exp $ 
+  $Id: mysqli_nonapi.c,v 1.84 2008/06/24 11:19:07 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -165,7 +165,7 @@
if 
(!mysql_ping(mysql-mysql)) {
 #endif
 #ifdef MYSQLI_USE_MYSQLND
-   
mysqlnd_restart_psession(mysql-mysql);
+   
mysqlnd_restart_psession(mysql-mysql, MyG(mysqlnd_thd_zval_cache));
 #endif

MyG(num_active_persistent)++;
goto end;
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.c?r1=1.23r2=1.24diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd.c
diff -u php-src/ext/mysqlnd/mysqlnd.c:1.23 php-src/ext/mysqlnd/mysqlnd.c:1.24
--- php-src/ext/mysqlnd/mysqlnd.c:1.23  Wed May  7 15:16:27 2008
+++ php-src/ext/mysqlnd/mysqlnd.c   Tue Jun 24 11:19:07 2008
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: mysqlnd.c,v 1.23 2008/05/07 15:16:27 andrey Exp $ */
+/* $Id: mysqlnd.c,v 1.24 2008/06/24 11:19:07 andrey Exp $ */
 #include php.h
 #include mysqlnd.h
 #include mysqlnd_wireprotocol.h
@@ -442,7 +442,7 @@
 
 
 /* {{{ _mysqlnd_restart_psession */
-PHPAPI void _mysqlnd_restart_psession(MYSQLND *conn TSRMLS_DC) 
+PHPAPI void _mysqlnd_restart_psession(MYSQLND *conn, MYSQLND_THD_ZVAL_PCACHE 
*cache TSRMLS_DC) 
 {
DBG_ENTER(_mysqlnd_restart_psession);
MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_CONNECT_REUSED);
@@ -451,15 +451,27 @@
mnd_pefree(conn-last_message, conn-persistent);
conn-last_message = NULL;
}
+   conn-zval_cache = cache;
DBG_VOID_RETURN;
 }
 /* }}} */
 
 
-/* {{{ mysqlnd_end_psession */
-PHPAPI void mysqlnd_end_psession(MYSQLND *conn)
+/* {{{ _mysqlnd_end_psession */
+PHPAPI void _mysqlnd_end_psession(MYSQLND *conn TSRMLS_DC)
 {
-
+   DBG_ENTER(_mysqlnd_end_psession);
+   /*
+ BEWARE This will have a problem with a query cache.
+ We need to move the data out of the zval cache before we end the 
psession.
+ Or we will use nirvana pointers!!
+   */
+   if (conn-zval_cache) {
+   DBG_INF(Freeing zval cache reference);
+   mysqlnd_palloc_free_thd_cache_reference(conn-zval_cache);
+   conn-zval_cache = NULL;
+   }
+   DBG_VOID_RETURN;
 }
 /* }}} */
 
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.h?r1=1.17r2=1.18diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd.h
diff -u php-src/ext/mysqlnd/mysqlnd.h:1.17 php-src/ext/mysqlnd/mysqlnd.h:1.18
--- php-src/ext/mysqlnd/mysqlnd.h:1.17  Wed May  7 15:16:27 2008
+++ php-src/ext/mysqlnd/mysqlnd.h   Tue Jun 24 11:19:07 2008
@@ -18,12 +18,12 @@
   +--+
 */
 
-/* $Id: mysqlnd.h,v 1.17 2008/05/07 15:16:27 andrey Exp $ */
+/* $Id: mysqlnd.h,v 1.18 2008/06/24 11:19:07 andrey Exp $ */
 
 #ifndef MYSQLND_H
 #define MYSQLND_H
 
-#define MYSQLND_VERSION mysqlnd 5.0.4-dev - 080501 - $Revision: 1.17 $