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

Reply via email to