List:Commits« Previous MessageNext Message »
From:ahristov Date:February 12 2008 10:55am
Subject:PHP mysqlnd svn commit: r1275 - in trunk: mysqlnd php5/ext/mysql php5/ext/mysqli php6/ext/mysql php6/ext/mysqli
View as plain text  
Author: ahristov
Date: 2008-02-12 11:55:22 +0100 (Tue, 12 Feb 2008)
New Revision: 1275

Modified:
   trunk/mysqlnd/config.w32
   trunk/php5/ext/mysql/php_mysql.c
   trunk/php5/ext/mysqli/mysqli.c
   trunk/php5/ext/mysqli/php_mysqli_structs.h
   trunk/php6/ext/mysql/php_mysql.c
   trunk/php6/ext/mysqli/mysqli.c
   trunk/php6/ext/mysqli/mysqli_nonapi.c
   trunk/php6/ext/mysqli/php_mysqli_structs.h
Log:
Sync from CVS


Modified: trunk/mysqlnd/config.w32
===================================================================
--- trunk/mysqlnd/config.w32	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/mysqlnd/config.w32	2008-02-12 10:55:22 UTC (rev 1275)
@@ -4,7 +4,7 @@
 if (CHECK_LIB("ws2_32.lib", "mysqlnd")) {
 	mysqlnd_source = 
 		"mysqlnd.c " +
-		"mysqlnd_block_alloc.c" +
+		"mysqlnd_block_alloc.c " +
 		"mysqlnd_charset.c " +
 		"mysqlnd_debug.c " +
 		"mysqlnd_loaddata.c " +
@@ -15,7 +15,7 @@
 		"mysqlnd_result.c " +
 		"mysqlnd_result_meta.c " +
 		"mysqlnd_statistics.c " +
-		"mysqlnd_wireprotocol.c" +
+		"mysqlnd_wireprotocol.c " +
 		"php_mysqlnd.c";
 	EXTENSION("mysqlnd", mysqlnd_source, false);
 }

Modified: trunk/php5/ext/mysql/php_mysql.c
===================================================================
--- trunk/php5/ext/mysql/php_mysql.c	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php5/ext/mysql/php_mysql.c	2008-02-12 10:55:22 UTC (rev 1275)
@@ -643,7 +643,7 @@
 		hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user);
 		client_flags = CLIENT_INTERACTIVE;
 	} else {
-		if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!s!s!ll", &host_and_port,
&host_len,
+		if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!s!s!bl", &host_and_port,
&host_len,
 									&user, &user_len, &passwd, &passwd_len, 
 									&new_link, &client_flags)==FAILURE) {
 			return;

Modified: trunk/php5/ext/mysqli/mysqli.c
===================================================================
--- trunk/php5/ext/mysqli/mysqli.c	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php5/ext/mysqli/mysqli.c	2008-02-12 10:55:22 UTC (rev 1275)
@@ -732,7 +732,7 @@
 	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)
+#if (MYSQL_VERSION_ID > 51122 && MYSQL_VERSION_ID < 60000) ||
(MYSQL_VERSION_ID > 60003) || defined(HAVE_MYSQLND)
 	REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_CS |
CONST_PERSISTENT);
 #endif
 

Modified: trunk/php5/ext/mysqli/php_mysqli_structs.h
===================================================================
--- trunk/php5/ext/mysqli/php_mysqli_structs.h	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php5/ext/mysqli/php_mysqli_structs.h	2008-02-12 10:55:22 UTC (rev 1275)
@@ -148,7 +148,11 @@
 #define L64(x) x##i64
 typedef __int64 my_longlong;
 #else
-#define PHP_MYSQLI_API
+# if defined(__GNUC__) && __GNUC__ >= 4
+#  define PHP_MYSQLI_API __attribute__ ((visibility("default")))
+# else
+#  define PHP_MYSQLI_API
+# endif
 #define MYSQLI_LLU_SPEC "%llu"
 #define MYSQLI_LL_SPEC "%lld"
 #define L64(x) x##LL

Modified: trunk/php6/ext/mysql/php_mysql.c
===================================================================
--- trunk/php6/ext/mysql/php_mysql.c	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php6/ext/mysql/php_mysql.c	2008-02-12 10:55:22 UTC (rev 1275)
@@ -643,7 +643,7 @@
 		user = MySG(default_user);
 		passwd = MySG(default_password);
 		
-		if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s&s&s&ll",
&host_and_port, &host_len, UG(utf8_conv),
+		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;

Modified: trunk/php6/ext/mysqli/mysqli.c
===================================================================
--- trunk/php6/ext/mysqli/mysqli.c	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php6/ext/mysqli/mysqli.c	2008-02-12 10:55:22 UTC (rev 1275)
@@ -729,7 +729,7 @@
 	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)
+#if (MYSQL_VERSION_ID > 51122 && MYSQL_VERSION_ID < 60000) ||
(MYSQL_VERSION_ID > 60003) || defined(HAVE_MYSQLND)
 	REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_CS |
CONST_PERSISTENT);
 #endif
 

Modified: trunk/php6/ext/mysqli/mysqli_nonapi.c
===================================================================
--- trunk/php6/ext/mysqli/mysqli_nonapi.c	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php6/ext/mysqli/mysqli_nonapi.c	2008-02-12 10:55:22 UTC (rev 1275)
@@ -296,229 +296,6 @@
 PHP_FUNCTION(mysqli_connect)
 {
 	mysqli_common_connect(INTERNAL_FUNCTION_PARAM_PASSTHRU, FALSE);
-#if 0
-	MY_MYSQL			*mysql = NULL;
-	MYSQLI_RESOURCE		*mysqli_resource = NULL;
-	zval				*object = getThis();
-	char				*hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL;
-	unsigned int		hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0,
socket_len = 0;
-	zend_bool			persistent = FALSE;
-	long				port = 0;
-	uint				hash_len;
-	char				*hash_key = NULL;
-	zend_bool			new_connection = FALSE;
-	zend_rsrc_list_entry	*le;
-	mysqli_plist_entry *plist = NULL;
-
-	if (getThis() && !ZEND_NUM_ARGS()) {
-		RETURN_NULL();
-	}
-
-	hostname = username = dbname = passwd = socket = NULL;
-
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s&s&s&s&ls&",
&hostname, &hostname_len, UG(utf8_conv),
-							  &username, &username_len, UG(utf8_conv), &passwd, &passwd_len,
UG(utf8_conv), 
-							  &dbname, &dbname_len, UG(utf8_conv), &port, &socket,
&socket_len, UG(utf8_conv)) == FAILURE) {
-		return;
-	}
-
-	if (!socket_len || !socket) {
-		socket = MyG(default_socket);
-	}
-
-	if (!passwd) {
-		passwd = MyG(default_pw);
-		passwd_len = strlen(SAFE_STR(passwd));
-	}
-	if (!username){
-		username = MyG(default_user);
-	}
-	if (!hostname || !hostname_len) {
-		hostname = MyG(default_host);
-	}
-
-
-	if (object && instanceof_function(Z_OBJCE_P(object), mysqli_link_class_entry
TSRMLS_CC)) {
-		mysqli_resource = ((mysqli_object *) zend_object_store_get_object(object
TSRMLS_CC))->ptr;
-		if (mysqli_resource && mysqli_resource->ptr &&
-			mysqli_resource->status >= MYSQLI_STATUS_INITIALIZED)
-		{
-			mysql = (MY_MYSQL*)mysqli_resource->ptr;
-			php_clear_mysql(mysql);
-			if (mysql->mysql) {
-				mysqli_close(mysql->mysql, MYSQLI_CLOSE_EXPLICIT);
-				mysql->mysql = NULL;
-			}
-		}
-	}
-	if (!mysql) {
-		mysql = (MY_MYSQL *) ecalloc(1, sizeof(MY_MYSQL));
-	}
-
-	if (strlen(SAFE_STR(hostname)) > 2 && !strncasecmp(hostname, "p:", 2)) {
-		hostname += 2;
-		if (!MyG(allow_persistent)) {
-			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Persistent connections are disabled.
Downgrading to normal");			
-		} else {
-			mysql->persistent = persistent = TRUE;
-
-			if (!strlen(hostname)) {
-				hostname = MyG(default_host);
-			}
-
-			hash_len = spprintf(&hash_key, 0, "mysqli_%s%ld%s%s%s", SAFE_STR(hostname), 
-								port, SAFE_STR(username), SAFE_STR(dbname), 
-								SAFE_STR(passwd));
-
-			mysql->hash_key = hash_key;
-
-			/* check if we can reuse exisiting connection ... */
-			if (zend_hash_find(&EG(persistent_list), hash_key, hash_len + 1, (void **)&le)
== SUCCESS) {
-				if (Z_TYPE_P(le) == php_le_pmysqli()) {
-					plist = (mysqli_plist_entry *) le->ptr;
-
-					do {
-						if (zend_ptr_stack_num_elements(&plist->free_links)) {
-							mysql->mysql = zend_ptr_stack_pop(&plist->free_links);
-
-							MyG(num_inactive_persistent)--;
-							/* reset variables */
-							/* todo: option for ping or change_user */
-#if G0
-							if (!mysql_change_user(mysql->mysql, username, passwd, dbname)) {
-#else
-							if (!mysql_ping(mysql->mysql)) {
-#endif
-#ifdef HAVE_MYSQLND
-								mysqlnd_restart_psession(mysql->mysql);
-#endif
-								MyG(num_active_persistent)++;
-								goto end;
-							} else {
-#if defined(HAVE_MYSQLND)
-								mysqlnd_end_psession(mysql->mysql);
-#endif	
-								mysqli_close(mysql->mysql, MYSQLI_CLOSE_IMPLICIT);
-								mysql->mysql = NULL;
-							}
-						}
-					} while (0);
-				}
-			} else {
-				zend_rsrc_list_entry le;
-				le.type = php_le_pmysqli();
-				le.ptr = plist = calloc(1, sizeof(mysqli_plist_entry));
-
-				zend_ptr_stack_init_ex(&plist->free_links, 1);
-				zend_hash_update(&EG(persistent_list), hash_key, hash_len + 1, (void *)&le,
sizeof(le), NULL);
-			}
-		}
-	}
-
-	if (MyG(max_links) != -1 && MyG(num_links) >= MyG(max_links)) {
-		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Too many open links (%ld)",
MyG(num_links));
-		goto err;
-	}
-	if (persistent && MyG(max_persistent) != -1 &&
-		(MyG(num_active_persistent) + MyG(num_inactive_persistent))>= MyG(max_persistent))
-	{
-		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Too many open persistent links (%ld)",
-							MyG(num_active_persistent) + MyG(num_inactive_persistent));
-		goto err;
-	}
-
-#if !defined(HAVE_MYSQLND)
-	if (!(mysql->mysql = mysql_init(NULL))) {
-#else
-	if (!(mysql->mysql = mysqlnd_init(persistent))) {
-#endif
-		goto err;
-	}
-	new_connection = TRUE;
-
-	if (UG(unicode)) {
-		mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, "utf8");
-	}
-
-#ifdef HAVE_EMBEDDED_MYSQLI
-	if (hostname_len) {
-		unsigned int external=1;
-		mysql_options(mysql->mysql, MYSQL_OPT_USE_REMOTE_CONNECTION, (char *)&external);
-	} else {
-		mysql_options(mysql->mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, 0);
-	}
-#endif
-
-#if !defined(HAVE_MYSQLND)
-	if (mysql_real_connect(mysql->mysql, hostname, username, passwd, dbname, port,
socket, CLIENT_MULTI_RESULTS) == NULL)
-#else
-	if (mysqlnd_connect(mysql->mysql, hostname, username, passwd, passwd_len, dbname,
dbname_len,
-						port, socket, CLIENT_MULTI_RESULTS, MyG(mysqlnd_thd_zval_cache) TSRMLS_CC) == NULL)
-#endif
-	{
-		/* Save error messages */
-		php_mysqli_set_error(mysql_errno(mysql->mysql), (char *)
mysql_error(mysql->mysql) TSRMLS_CC);
-		php_mysqli_throw_sql_exception((char *)mysql_sqlstate(mysql->mysql),
mysql_errno(mysql->mysql) TSRMLS_CC,
-										"%s", mysql_error(mysql->mysql));
-
-		/* free mysql structure */
-		mysqli_close(mysql->mysql, MYSQLI_CLOSE_DISCONNECTED);
-		goto err;
-	}
-
-	/* when PHP runs in unicode, set default character set to utf8 */
-	if (UG(unicode)) {
-		mysql->conv = UG(utf8_conv);
-	}
-
-	/* clear error */
-	php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) mysql_error(mysql->mysql)
TSRMLS_CC);
-
-#if !defined(HAVE_MYSQLND)
-	mysql->mysql->reconnect = MyG(reconnect);
-
-	/* set our own local_infile handler */
-	php_set_local_infile_handler_default(mysql);
-#endif
-
-	mysql_options(mysql->mysql, MYSQL_OPT_LOCAL_INFILE, (char
*)&MyG(allow_local_infile));
-
-end:
-	if (!mysqli_resource) {
-		mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
-		mysqli_resource->ptr = (void *)mysql;
-	}
-	mysqli_resource->status = MYSQLI_STATUS_VALID;
-
-	/* store persistent connection */
-	if (persistent && new_connection) {
-		MyG(num_active_persistent)++;
-	}
-
-	mysql->hash_key = hash_key;
-	MyG(num_links)++;
-
-#if !defined(HAVE_MYSQLND)
-	mysql->multi_query = 0;
-#else
-	mysql->multi_query = 1;
-#endif
-
-
-	if (!object || !instanceof_function(Z_OBJCE_P(object), mysqli_link_class_entry
TSRMLS_CC)) {
-		MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_link_class_entry);	
-	} else {
-		((mysqli_object *) zend_object_store_get_object(object TSRMLS_CC))->ptr =
mysqli_resource;
-	}
-	return;
-
-err:
-	efree(mysql);
-	if (hash_key) {
-		efree(hash_key);
-	}
-	RETVAL_FALSE;
-#endif
 }
 /* }}} */
 

Modified: trunk/php6/ext/mysqli/php_mysqli_structs.h
===================================================================
--- trunk/php6/ext/mysqli/php_mysqli_structs.h	2008-02-11 22:08:01 UTC (rev 1274)
+++ trunk/php6/ext/mysqli/php_mysqli_structs.h	2008-02-12 10:55:22 UTC (rev 1275)
@@ -160,7 +160,11 @@
 #define L64(x) x##i64
 typedef __int64 my_longlong;
 #else
-#define PHP_MYSQLI_API
+# if defined(__GNUC__) && __GNUC__ >= 4
+#  define PHP_MYSQLI_API __attribute__ ((visibility("default")))
+# else
+#  define PHP_MYSQLI_API
+# endif
 #define MYSQLI_LLU_SPEC "%llu"
 #define MYSQLI_LL_SPEC "%lld"
 #define L64(x) x##LL
@@ -324,7 +328,6 @@
 #define MYSQLI_ASYNC	 	0
 #endif
 
-
 /* for mysqli_fetch_assoc */
 #define MYSQLI_ASSOC	1
 #define MYSQLI_NUM		2

Thread
PHP mysqlnd svn commit: r1275 - in trunk: mysqlnd php5/ext/mysql php5/ext/mysqli php6/ext/mysql php6/ext/mysqliahristov12 Feb