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.266&r2=1.267&diff_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.86&r2=1.87&diff_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