Skip to content

Commit 725b31f

Browse files
committed
Update mysqlnd, ext/mysql and ext/mysqli - now possible to compile with different
configurations one or the another extension to use libmysql or mysqlnd mixed in one binary
1 parent 49add03 commit 725b31f

File tree

13 files changed

+118
-117
lines changed

13 files changed

+118
-117
lines changed

ext/mysql/config.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,6 @@ if test "$PHP_MYSQL" != "no"; then
158158

159159
if test "$PHP_MYSQL" = "mysqlnd"; then
160160
PHP_ADD_EXTENSION_DEP(mysql, mysqlnd)
161+
AC_DEFINE([MYSQL_USE_MYSQLND], 1, [Whether mysqlnd is enabled])
161162
fi
162163
fi

ext/mysql/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if (PHP_MYSQL != "no") {
1414
WARNING("mysql not enabled; libraries and headers not found");
1515
}
1616
} else {
17-
AC_DEFINE('HAVE_MYSQLND', 1, 'MySQL native driver support enabled');
17+
AC_DEFINE('MYSQL_USE_MYSQLND', 1, 'MySQL native driver support enabled');
1818
ADD_EXTENSION_DEP('mysql', 'mysqlnd', true);
1919
EXTENSION("mysql", "php_mysql.c");
2020
AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library');

ext/mysql/php_mysql.c

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static int le_result, le_link, le_plink;
7979

8080
#define SAFE_STRING(s) ((s)?(s):"")
8181

82-
#if MYSQL_VERSION_ID > 32199 || defined(HAVE_MYSQLND)
82+
#if MYSQL_VERSION_ID > 32199 || defined(MYSQL_USE_MYSQLND)
8383
# define mysql_row_length_type unsigned long
8484
# define HAVE_MYSQL_ERRNO
8585
#else
@@ -89,7 +89,7 @@ static int le_result, le_link, le_plink;
8989
# endif
9090
#endif
9191

92-
#if MYSQL_VERSION_ID >= 32032 || defined(HAVE_MYSQLND)
92+
#if MYSQL_VERSION_ID >= 32032 || defined(MYSQL_USE_MYSQLND)
9393
#define HAVE_GETINFO_FUNCS
9494
#endif
9595

@@ -125,7 +125,7 @@ typedef struct _php_mysql_conn {
125125
int multi_query;
126126
} php_mysql_conn;
127127

128-
#ifdef HAVE_MYSQLND
128+
#ifdef MYSQL_USE_MYSQLND
129129
static MYSQLND_ZVAL_PCACHE *mysql_mysqlnd_zval_cache;
130130
static MYSQLND_QCACHE *mysql_mysqlnd_qcache;
131131
#endif
@@ -223,7 +223,7 @@ static const zend_function_entry mysql_functions[] = {
223223

224224
/* Dependancies */
225225
static const zend_module_dep mysql_deps[] = {
226-
#if defined(HAVE_MYSQLND)
226+
#if defined(MYSQL_USE_MYSQLND)
227227
ZEND_MOD_REQUIRED("mysqlnd")
228228
#endif
229229
{NULL, NULL, NULL}
@@ -262,7 +262,7 @@ void timeout(int sig);
262262

263263
#define CHECK_LINK(link) { if (link==-1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "A link to the server could not be established"); RETURN_FALSE; } }
264264

265-
#if defined(HAVE_MYSQLND)
265+
#if defined(MYSQL_USE_MYSQLND)
266266
#define PHPMY_UNBUFFERED_QUERY_CHECK() \
267267
{\
268268
if (mysql->active_result_id) { \
@@ -401,7 +401,7 @@ PHP_INI_BEGIN()
401401
STD_PHP_INI_ENTRY("mysql.connect_timeout", "60", PHP_INI_ALL, OnUpdateLong, connect_timeout, zend_mysql_globals, mysql_globals)
402402
STD_PHP_INI_BOOLEAN("mysql.trace_mode", "0", PHP_INI_ALL, OnUpdateLong, trace_mode, zend_mysql_globals, mysql_globals)
403403
STD_PHP_INI_BOOLEAN("mysql.allow_local_infile", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysql_globals, mysql_globals)
404-
#ifdef HAVE_MYSQLND
404+
#ifdef MYSQL_USE_MYSQLND
405405
STD_PHP_INI_ENTRY("mysql.cache_size", "2000", PHP_INI_SYSTEM, OnUpdateLong, cache_size, zend_mysql_globals, mysql_globals)
406406
#endif
407407
PHP_INI_END()
@@ -422,7 +422,7 @@ static PHP_GINIT_FUNCTION(mysql)
422422
mysql_globals->trace_mode = 0;
423423
mysql_globals->allow_local_infile = 1;
424424
mysql_globals->result_allocated = 0;
425-
#ifdef HAVE_MYSQLND
425+
#ifdef MYSQL_USE_MYSQLND
426426
mysql_globals->cache_size = 0;
427427
mysql_globals->mysqlnd_thd_zval_cache = NULL;
428428
#endif
@@ -449,7 +449,7 @@ ZEND_MODULE_STARTUP_D(mysql)
449449
REGISTER_LONG_CONSTANT("MYSQL_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT);
450450
REGISTER_LONG_CONSTANT("MYSQL_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT);
451451

452-
#ifndef HAVE_MYSQLND
452+
#ifndef MYSQL_USE_MYSQLND
453453
#if MYSQL_VERSION_ID >= 40000
454454
if (mysql_server_init(0, NULL, NULL)) {
455455
return FAILURE;
@@ -468,7 +468,7 @@ ZEND_MODULE_STARTUP_D(mysql)
468468
*/
469469
PHP_MSHUTDOWN_FUNCTION(mysql)
470470
{
471-
#ifndef HAVE_MYSQLND
471+
#ifndef MYSQL_USE_MYSQLND
472472
#if MYSQL_VERSION_ID >= 40000
473473
#ifdef PHP_WIN32
474474
unsigned long client_ver = mysql_get_client_version();
@@ -497,7 +497,7 @@ PHP_MSHUTDOWN_FUNCTION(mysql)
497497
*/
498498
PHP_RINIT_FUNCTION(mysql)
499499
{
500-
#if !defined(HAVE_MYSQLND) && defined(ZTS) && MYSQL_VERSION_ID >= 40000
500+
#if !defined(MYSQL_USE_MYSQLND) && defined(ZTS) && MYSQL_VERSION_ID >= 40000
501501
if (mysql_thread_init()) {
502502
return FAILURE;
503503
}
@@ -509,7 +509,7 @@ PHP_RINIT_FUNCTION(mysql)
509509
MySG(connect_errno) =0;
510510
MySG(result_allocated) = 0;
511511

512-
#ifdef HAVE_MYSQLND
512+
#ifdef MYSQL_USE_MYSQLND
513513
MySG(mysqlnd_thd_zval_cache) = mysqlnd_palloc_rinit(mysql_mysqlnd_zval_cache);
514514
#endif
515515

@@ -521,7 +521,7 @@ PHP_RINIT_FUNCTION(mysql)
521521
*/
522522
PHP_RSHUTDOWN_FUNCTION(mysql)
523523
{
524-
#if !defined(HAVE_MYSQLND) && defined(ZTS) && MYSQL_VERSION_ID >= 40000
524+
#if !defined(MYSQL_USE_MYSQLND) && defined(ZTS) && MYSQL_VERSION_ID >= 40000
525525
mysql_thread_end();
526526
#endif
527527

@@ -534,7 +534,7 @@ PHP_RSHUTDOWN_FUNCTION(mysql)
534534
if (MySG(connect_error)!=NULL) {
535535
efree(MySG(connect_error));
536536
}
537-
#ifdef HAVE_MYSQLND
537+
#ifdef MYSQL_USE_MYSQLND
538538
mysqlnd_palloc_rshutdown(MySG(mysqlnd_thd_zval_cache));
539539
#endif
540540

@@ -555,13 +555,13 @@ PHP_MINFO_FUNCTION(mysql)
555555
snprintf(buf, sizeof(buf), "%ld", MySG(num_links));
556556
php_info_print_table_row(2, "Active Links", buf);
557557
php_info_print_table_row(2, "Client API version", mysql_get_client_info());
558-
#if !defined (PHP_WIN32) && !defined (NETWARE) && !defined(HAVE_MYSQLND)
558+
#if !defined (PHP_WIN32) && !defined (NETWARE) && !defined(MYSQL_USE_MYSQLND)
559559
php_info_print_table_row(2, "MYSQL_MODULE_TYPE", PHP_MYSQL_TYPE);
560560
php_info_print_table_row(2, "MYSQL_SOCKET", MYSQL_UNIX_ADDR);
561561
php_info_print_table_row(2, "MYSQL_INCLUDE", PHP_MYSQL_INCLUDE);
562562
php_info_print_table_row(2, "MYSQL_LIBS", PHP_MYSQL_LIBS);
563563
#endif
564-
#if defined(HAVE_MYSQLND)
564+
#if defined(MYSQL_USE_MYSQLND)
565565
{
566566
zval values;
567567

@@ -594,7 +594,7 @@ PHP_MINFO_FUNCTION(mysql)
594594
MYSQL_DO_CONNECT_CLEANUP(); \
595595
RETURN_FALSE;
596596

597-
#ifdef HAVE_MYSQLND
597+
#ifdef MYSQL_USE_MYSQLND
598598
#define MYSQL_PORT 0
599599
#endif
600600

@@ -725,15 +725,15 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
725725
mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn));
726726
mysql->active_result_id = 0;
727727
mysql->multi_query = 1;
728-
#ifndef HAVE_MYSQLND
728+
#ifndef MYSQL_USE_MYSQLND
729729
mysql->conn = mysql_init(NULL);
730730
#else
731731
mysql->conn = mysql_init(persistent);
732732
#endif
733733

734734
if (connect_timeout != -1)
735735
mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
736-
#ifndef HAVE_MYSQLND
736+
#ifndef MYSQL_USE_MYSQLND
737737
if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
738738
#else
739739
if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0,
@@ -775,7 +775,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
775775
/* ensure that the link did not die */
776776
if (mysql_ping(mysql->conn)) {
777777
if (mysql_errno(mysql->conn) == 2006) {
778-
#ifndef HAVE_MYSQLND
778+
#ifndef MYSQL_USE_MYSQLND
779779
if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
780780
#else
781781
if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0,
@@ -790,7 +790,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
790790
mysql_options(mysql->conn, MYSQL_OPT_LOCAL_INFILE, (char *)&MySG(allow_local_infile));
791791
}
792792
} else {
793-
#ifdef HAVE_MYSQLND
793+
#ifdef MYSQL_USE_MYSQLND
794794
mysqlnd_restart_psession(mysql->conn);
795795
#endif
796796
}
@@ -835,7 +835,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
835835
mysql = (php_mysql_conn *) emalloc(sizeof(php_mysql_conn));
836836
mysql->active_result_id = 0;
837837
mysql->multi_query = 1;
838-
#ifndef HAVE_MYSQLND
838+
#ifndef MYSQL_USE_MYSQLND
839839
mysql->conn = mysql_init(NULL);
840840
#else
841841
mysql->conn = mysql_init(persistent);
@@ -844,7 +844,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
844844
if (connect_timeout != -1)
845845
mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
846846

847-
#ifndef HAVE_MYSQLND
847+
#ifndef MYSQL_USE_MYSQLND
848848
if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
849849
#else
850850
if (mysqlnd_connect(mysql->conn, host, user, passwd, 0, NULL, 0,
@@ -861,7 +861,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
861861
MySG(connect_errno) = mysql_errno(mysql->conn);
862862
#endif
863863
/* free mysql structure */
864-
#ifdef HAVE_MYSQLND
864+
#ifdef MYSQL_USE_MYSQLND
865865
mysqli_close(mysql->conn, MYSQLI_CLOSE_DISCONNECTED);
866866
#endif
867867
efree(hashed_details);
@@ -1159,7 +1159,7 @@ PHP_FUNCTION(mysql_stat)
11591159
int id = -1;
11601160
php_mysql_conn *mysql;
11611161
char *stat;
1162-
#ifdef HAVE_MYSQLND
1162+
#ifdef MYSQL_USE_MYSQLND
11631163
uint stat_len;
11641164
#endif
11651165

@@ -1174,7 +1174,7 @@ PHP_FUNCTION(mysql_stat)
11741174
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
11751175

11761176
PHPMY_UNBUFFERED_QUERY_CHECK();
1177-
#ifndef HAVE_MYSQLND
1177+
#ifndef MYSQL_USE_MYSQLND
11781178
if ((stat = (char *)mysql_stat(mysql->conn))) {
11791179
RETURN_STRING(stat, 1);
11801180
#else
@@ -1316,7 +1316,7 @@ static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link
13161316

13171317
convert_to_string_ex(query);
13181318

1319-
#ifndef HAVE_MYSQLND
1319+
#ifndef MYSQL_USE_MYSQLND
13201320
/* check explain */
13211321
if (MySG(trace_mode)) {
13221322
if (!strncasecmp("select", Z_STRVAL_PP(query), 6)){
@@ -1836,7 +1836,7 @@ PHP_FUNCTION(mysql_result)
18361836
{
18371837
zval **result, **row, **field=NULL;
18381838
MYSQL_RES *mysql_result;
1839-
#ifndef HAVE_MYSQLND
1839+
#ifndef MYSQL_USE_MYSQLND
18401840
MYSQL_ROW sql_row;
18411841
mysql_row_length_type *sql_row_lengths;
18421842
#endif
@@ -1915,7 +1915,7 @@ PHP_FUNCTION(mysql_result)
19151915
}
19161916
}
19171917

1918-
#ifndef HAVE_MYSQLND
1918+
#ifndef MYSQL_USE_MYSQLND
19191919
if ((sql_row=mysql_fetch_row(mysql_result))==NULL
19201920
|| (sql_row_lengths=mysql_fetch_lengths(mysql_result))==NULL) { /* shouldn't happen? */
19211921
RETURN_FALSE;
@@ -1984,7 +1984,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
19841984
MYSQL_RES *mysql_result;
19851985
zval *res, *ctor_params = NULL;
19861986
zend_class_entry *ce = NULL;
1987-
#ifndef HAVE_MYSQLND
1987+
#ifndef MYSQL_USE_MYSQLND
19881988
int i;
19891989
MYSQL_FIELD *mysql_field;
19901990
MYSQL_ROW mysql_row;
@@ -2046,7 +2046,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
20462046

20472047
ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
20482048

2049-
#ifndef HAVE_MYSQLND
2049+
#ifndef MYSQL_USE_MYSQLND
20502050
if ((mysql_row = mysql_fetch_row(mysql_result)) == NULL ||
20512051
(mysql_row_lengths = mysql_fetch_lengths(mysql_result)) == NULL) {
20522052
RETURN_FALSE;
@@ -2169,7 +2169,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
21692169
Gets a result row as an enumerated array */
21702170
PHP_FUNCTION(mysql_fetch_row)
21712171
{
2172-
#ifdef HAVE_MYSQLND
2172+
#ifdef MYSQL_USE_MYSQLND
21732173
MYSQL_RES *result;
21742174
zval *mysql_result;
21752175

@@ -2203,7 +2203,7 @@ PHP_FUNCTION(mysql_fetch_object)
22032203
Fetch a result row as an array (associative, numeric or both) */
22042204
PHP_FUNCTION(mysql_fetch_array)
22052205
{
2206-
#ifndef HAVE_MYSQLND
2206+
#ifndef MYSQL_USE_MYSQLND
22072207
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0, 2, 0);
22082208
#else
22092209
MYSQL_RES *result;
@@ -2225,7 +2225,7 @@ PHP_FUNCTION(mysql_fetch_array)
22252225
Fetch a result row as an associative array */
22262226
PHP_FUNCTION(mysql_fetch_assoc)
22272227
{
2228-
#ifndef HAVE_MYSQLND
2228+
#ifndef MYSQL_USE_MYSQLND
22292229
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_ASSOC, 1, 0);
22302230
#else
22312231
MYSQL_RES *result;
@@ -2302,7 +2302,7 @@ static char *php_mysql_get_field_name(int field_type)
23022302
case FIELD_TYPE_VAR_STRING:
23032303
return "string";
23042304
break;
2305-
#if MYSQL_VERSION_ID > 50002 || defined(HAVE_MYSQLND)
2305+
#if MYSQL_VERSION_ID > 50002 || defined(MYSQL_USE_MYSQLND)
23062306
case MYSQL_TYPE_BIT:
23072307
#endif
23082308
#ifdef MYSQL_HAS_TINY

ext/mysql/php_mysql_structs.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@
3535
#define FALSE 0
3636
#endif
3737

38-
#if defined(HAVE_MYSQLND)
38+
#if defined(MYSQL_USE_MYSQLND)
3939
#include "ext/mysqlnd/mysqlnd.h"
40-
#include "ext/mysql/mysql_mysqlnd.h"
40+
#include "mysql_mysqlnd.h"
4141
#else
4242
#include <mysql.h>
4343
#endif
4444

45-
#if (MYSQL_VERSION_ID >= 40113 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50007 || HAVE_MYSQLND
45+
#if (MYSQL_VERSION_ID >= 40113 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50007 || MYSQL_USE_MYSQLND
4646
#define MYSQL_HAS_SET_CHARSET
4747
#endif
4848

@@ -114,7 +114,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysql)
114114
long result_allocated;
115115
long trace_mode;
116116
long allow_local_infile;
117-
#ifdef HAVE_MYSQLND
117+
#ifdef MYSQL_USE_MYSQLND
118118
MYSQLND_THD_ZVAL_PCACHE *mysqlnd_thd_zval_cache;
119119
MYSQLND_QCACHE *mysqlnd_qcache;
120120
long cache_size;

ext/mysqli/config.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,6 @@ if test "$PHP_MYSQLI" != "no"; then
7373

7474
if test "$PHP_MYSQLI" = "mysqlnd"; then
7575
PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
76+
AC_DEFINE([MYSQLI_USE_MYSQLND], 1, [Whether mysqlnd is enabled])
7677
fi
7778
fi

ext/mysqli/config.w32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if (PHP_MYSQLI != "no") {
3333
}
3434
} else {
3535
EXTENSION("mysqli", mysqli_source);
36-
AC_DEFINE('HAVE_MYSQLND', 1, 'MySQLi with native driver support enabled');
36+
AC_DEFINE('MYSQLI_USE_MYSQLND', 1, 'MySQLi with native driver support enabled');
3737
AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
3838
ADD_EXTENSION_DEP('mysqli', 'mysqlnd', true);
3939
}

0 commit comments

Comments
 (0)