Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

PHP mysqlnd svn commit: r483 - trunk/php5/ext/mysql

From: <ahristov(at)mysql.com>
Date: Mon Jun 25 2007 - 13:40:27 EDT


Author: ahristov
Date: 2007-06-25 19:40:27 +0200 (Mon, 25 Jun 2007) New Revision: 483

Modified:

   trunk/php5/ext/mysql/php_mysql.c
   trunk/php5/ext/mysql/php_mysql.h
Log:
Update PHP5 port of mysqlnd for ext/mysql

Modified: trunk/php5/ext/mysql/php_mysql.c


  • trunk/php5/ext/mysql/php_mysql.c 2007-06-25 17:38:32 UTC (rev 482)
    +++ trunk/php5/ext/mysql/php_mysql.c 2007-06-25 17:40:27 UTC (rev 483)
    @@ -125,6 +125,12 @@ int active_result_id; } php_mysql_conn;

+#ifdef HAVE_MYSQLND
+static MYSQLND_ZVAL_PCACHE *mysql_mysqlnd_zval_cache;
+static MYSQLND_QCACHE *mysql_mysqlnd_qcache;
+#endif
+
+

 /* {{{ mysql_functions[]
  */
 zend_function_entry mysql_functions[] = { @@ -383,6 +389,9 @@

 	STD_PHP_INI_ENTRY("mysql.default_socket",		NULL,	PHP_INI_ALL,		OnUpdateStringUnempty,	default_socket,	zend_mysql_globals,		mysql_globals)
 	STD_PHP_INI_ENTRY("mysql.connect_timeout",		"60",	PHP_INI_ALL,		OnUpdateLong,		connect_timeout, 	zend_mysql_globals,		mysql_globals)
 	STD_PHP_INI_BOOLEAN("mysql.trace_mode",			"0",	PHP_INI_ALL,		OnUpdateLong,		trace_mode, 		zend_mysql_globals,		mysql_globals)

+#ifdef HAVE_MYSQLND
+ STD_PHP_INI_ENTRY("mysql.cache_size", "2000", PHP_INI_SYSTEM, OnUpdateLong, cache_size, zend_mysql_globals, mysql_globals)
+#endif

 PHP_INI_END()
 /* }}} */  

@@ -401,7 +410,8 @@

 	mysql_globals->trace_mode = 0;
 	mysql_globals->result_allocated = 0;
 #ifdef HAVE_MYSQLND
-	mysql_globals->mysqlnd_zval_cache = mysqlnd_palloc_init_cache(10);

+ mysql_globals->cache_size = 0;
+ mysql_globals->mysqlnd_thd_zval_cache = NULL;
 #endif
 }
 /* }}} */
@@ -426,6 +436,12 @@
 	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); 
 

+#ifdef HAVE_MYSQLND
+ mysqlnd_library_init();
+ mysql_mysqlnd_zval_cache = mysqlnd_palloc_init_cache(MySG(cache_size));
+ mysql_mysqlnd_qcache = mysqlnd_qcache_init_cache();
+#endif
+

         return SUCCESS;
 }
 /* }}} */
@@ -435,6 +451,13 @@
 PHP_MSHUTDOWN_FUNCTION(mysql)
 {

         UNREGISTER_INI_ENTRIES();
+
+#ifdef HAVE_MYSQLND
+ mysqlnd_palloc_free_cache(mysql_mysqlnd_zval_cache);
+ mysqlnd_qcache_free_cache_reference(&mysql_mysqlnd_qcache);
+ mysqlnd_library_end();
+#endif
+

Do you need help?X

         return SUCCESS;
 }
 /* }}} */
@@ -449,6 +472,11 @@

 	MySG(connect_error) = NULL;
 	MySG(connect_errno) =0;
 	MySG(result_allocated) = 0;

+
+#ifdef HAVE_MYSQLND
+ MySG(mysqlnd_thd_zval_cache) = mysqlnd_palloc_rinit(mysql_mysqlnd_zval_cache);
+#endif
+

         return SUCCESS;
 }
 /* }}} */
@@ -466,6 +494,10 @@

 	if (MySG(connect_error)!=NULL) {
 		efree(MySG(connect_error));
 	}

+#ifdef HAVE_MYSQLND
+ mysqlnd_palloc_rshutdown(MySG(mysqlnd_thd_zval_cache));
+#endif
+

         return SUCCESS;
 }
 /* }}} */
@@ -640,7 +672,7 @@

                         if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)  #else

 			if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0, 
-						  port, socket, client_flags, MySG(mysqlnd_zval_cache) TSRMLS_CC) == NULL)

+ port, socket, client_flags, MySG(mysqlnd_thd_zval_cache) TSRMLS_CC) == NULL)
#endif { /* Populate connect error globals so that the error functions can read them */ @@ -677,7 +709,7 @@ if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0, - port, socket, client_flags, MySG(mysqlnd_zval_cache) TSRMLS_CC) == NULL)
+ port, socket, client_flags, MySG(mysqlnd_thd_zval_cache) TSRMLS_CC) == NULL)
#endif { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Link to server lost, unable to reconnect"); @@ -742,7 +774,7 @@ if (mysql_real_connect(&mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL) #else if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0,
Do you need more help?X
- port, socket, client_flags, MySG(mysqlnd_zval_cache) TSRMLS_CC) == NULL)
+ port, socket, client_flags, MySG(mysqlnd_thd_zval_cache) TSRMLS_CC) == NULL)
#endif { /* Populate connect error globals so that the error functions can read them */

Modified: trunk/php5/ext/mysql/php_mysql.h


  • trunk/php5/ext/mysql/php_mysql.h 2007-06-25 17:38:32 UTC (rev 482)
    +++ trunk/php5/ext/mysql/php_mysql.h 2007-06-25 17:40:27 UTC (rev 483)
    @@ -124,8 +124,9 @@ long result_allocated; long trace_mode; #ifdef HAVE_MYSQLND - MYSQLND_ZVAL_PCACHE *mysqlnd_zval_cache; - MYSQLND_QCACHE *mysqlnd_qcache;
    + MYSQLND_THD_ZVAL_PCACHE *mysqlnd_thd_zval_cache;
    + MYSQLND_QCACHE *mysqlnd_qcache;
    + long cache_size;
    #endif ZEND_END_MODULE_GLOBALS(mysql)
-- 
MySQL Code Commits Mailing List
For list archives: 
http://lists.mysql.com/commits
To unsubscribe:    
http://lists.mysql.com/commits?unsub=lists@pantek.com
Received on Mon Jun 25 13:41:10 2007

This archive was generated by hypermail 2.1.8 : Mon Jun 25 2007 - 13:50:01 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library