summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-05-05 12:30:38 +0000
committerAndrey Hristov <andrey@php.net>2008-05-05 12:30:38 +0000
commit05b2a03297303d7ef673a50dc2fc0a2efdc8f968 (patch)
tree9ac421e1b8b1350eb87ae1328df45caf11a3d371
parentc54c42dcf348556b7fcc2ddb99dc9705992d3d28 (diff)
downloadphp-git-05b2a03297303d7ef673a50dc2fc0a2efdc8f968.tar.gz
Fix build with libmysql 6.0.x
-rw-r--r--NEWS2
-rw-r--r--ext/mysqli/mysqli.c4
-rw-r--r--ext/mysqli/mysqli_fe.c21
-rw-r--r--ext/mysqli/mysqli_repl.c3
-rw-r--r--ext/mysqli/php_mysqli.h5
5 files changed, 34 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index a1879bacf5..9255645ade 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2008, PHP 5.2.7
+- Fixed build failure of ext/mysqli with libmysql 6.0 - missing rpl
+ functions. (Andrey)
- Fixed bug #44891 Memory leak using registerPHPFunctions and XSLT Variable
as function parameter. (Rob)
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index 3280ff832d..afbdbef877 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -639,11 +639,13 @@ PHP_MINIT_FUNCTION(mysqli)
REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_CS | CONST_PERSISTENT);
+#ifdef HAVE_LIBMYSQL_REPLICATION
/* replication */
REGISTER_LONG_CONSTANT("MYSQLI_RPL_MASTER", MYSQL_RPL_MASTER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_RPL_SLAVE", MYSQL_RPL_SLAVE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_RPL_ADMIN", MYSQL_RPL_ADMIN, CONST_CS | CONST_PERSISTENT);
-
+#endif
+
/* bind support */
REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_CS | CONST_PERSISTENT);
#ifdef MYSQL_DATA_TRUNCATED
diff --git a/ext/mysqli/mysqli_fe.c b/ext/mysqli/mysqli_fe.c
index f948e0dc1f..dde4fcab2f 100644
--- a/ext/mysqli/mysqli_fe.c
+++ b/ext/mysqli/mysqli_fe.c
@@ -62,11 +62,15 @@ zend_function_entry mysqli_functions[] = {
PHP_FE(mysqli_connect_error, NULL)
PHP_FE(mysqli_data_seek, NULL)
PHP_FE(mysqli_debug, NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FE(mysqli_disable_reads_from_master, NULL)
PHP_FE(mysqli_disable_rpl_parse, NULL)
+#endif
PHP_FE(mysqli_dump_debug_info, NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FE(mysqli_enable_reads_from_master, NULL)
PHP_FE(mysqli_enable_rpl_parse, NULL)
+#endif
PHP_FE(mysqli_embedded_server_end, NULL)
PHP_FE(mysqli_embedded_server_start, NULL)
PHP_FE(mysqli_errno, NULL)
@@ -101,7 +105,9 @@ zend_function_entry mysqli_functions[] = {
PHP_FE(mysqli_kill, NULL)
PHP_FE(mysqli_set_local_infile_default, NULL)
PHP_FE(mysqli_set_local_infile_handler, NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FE(mysqli_master_query, NULL)
+#endif
PHP_FE(mysqli_more_results, NULL)
PHP_FE(mysqli_multi_query, NULL)
PHP_FE(mysqli_next_result, NULL)
@@ -116,9 +122,11 @@ zend_function_entry mysqli_functions[] = {
PHP_FE(mysqli_real_escape_string, NULL)
PHP_FE(mysqli_real_query, NULL)
PHP_FE(mysqli_rollback, NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FE(mysqli_rpl_parse_enabled, NULL)
PHP_FE(mysqli_rpl_probe, NULL)
PHP_FE(mysqli_rpl_query_type, NULL)
+#endif
PHP_FE(mysqli_select_db, NULL)
#ifdef HAVE_MYSQLI_SET_CHARSET
PHP_FE(mysqli_set_charset, NULL)
@@ -138,8 +146,10 @@ zend_function_entry mysqli_functions[] = {
PHP_FE(mysqli_stmt_insert_id, NULL)
PHP_FE(mysqli_stmt_reset, NULL)
PHP_FE(mysqli_stmt_param_count, NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FE(mysqli_send_query, NULL)
PHP_FE(mysqli_slave_query, NULL)
+#endif
PHP_FE(mysqli_sqlstate, NULL)
PHP_FE(mysqli_ssl_set, NULL)
PHP_FE(mysqli_stat, NULL)
@@ -185,11 +195,15 @@ zend_function_entry mysqli_link_methods[] = {
PHP_FALIAS(commit,mysqli_commit,NULL)
PHP_FALIAS(connect,mysqli_connect,NULL)
PHP_FALIAS(debug,mysqli_debug,NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FALIAS(disable_reads_from_master,mysqli_disable_reads_from_master,NULL)
PHP_FALIAS(disable_rpl_parse,mysqli_disable_rpl_parse,NULL)
+#endif
PHP_FALIAS(dump_debug_info,mysqli_dump_debug_info,NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FALIAS(enable_reads_from_master,mysqli_enable_reads_from_master,NULL)
PHP_FALIAS(enable_rpl_parse,mysqli_enable_rpl_parse,NULL)
+#endif
#ifdef HAVE_MYSQLI_GET_CHARSET
PHP_FALIAS(get_charset,mysqli_get_charset,NULL)
#endif
@@ -200,7 +214,9 @@ zend_function_entry mysqli_link_methods[] = {
PHP_FALIAS(kill,mysqli_kill,NULL)
PHP_FALIAS(set_local_infile_default,mysqli_set_local_infile_default,NULL)
PHP_FALIAS(set_local_infile_handler,mysqli_set_local_infile_handler,NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FALIAS(master_query,mysqli_master_query,NULL)
+#endif
PHP_FALIAS(multi_query,mysqli_multi_query,NULL)
PHP_FALIAS(mysqli,mysqli_connect,NULL)
PHP_FALIAS(more_results,mysqli_more_results, NULL)
@@ -214,15 +230,20 @@ zend_function_entry mysqli_link_methods[] = {
PHP_FALIAS(escape_string, mysqli_real_escape_string,NULL)
PHP_FALIAS(real_query,mysqli_real_query,NULL)
PHP_FALIAS(rollback,mysqli_rollback,NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
PHP_FALIAS(rpl_parse_enabled,mysqli_rpl_parse_enabled,NULL)
PHP_FALIAS(rpl_probe,mysqli_rpl_probe,NULL)
PHP_FALIAS(rpl_query_type,mysqli_rpl_query_type,NULL)
+#endif
PHP_FALIAS(select_db,mysqli_select_db,NULL)
#ifdef HAVE_MYSQLI_SET_CHARSET
PHP_FALIAS(set_charset,mysqli_set_charset,NULL)
#endif
PHP_FALIAS(set_opt, mysqli_options,NULL)
+#ifdef HAVE_LIBMYSQL_REPLICATION
+ PHP_FALIAS(send_query,mysqli_send_query,NULL)
PHP_FALIAS(slave_query,mysqli_slave_query,NULL)
+#endif
PHP_FALIAS(ssl_set,mysqli_ssl_set,NULL)
PHP_FALIAS(stat,mysqli_stat,NULL)
PHP_FALIAS(stmt_init,mysqli_stmt_init, NULL)
diff --git a/ext/mysqli/mysqli_repl.c b/ext/mysqli/mysqli_repl.c
index 09a9f45125..81ee100b09 100644
--- a/ext/mysqli/mysqli_repl.c
+++ b/ext/mysqli/mysqli_repl.c
@@ -29,6 +29,7 @@
#include "ext/standard/info.h"
#include "php_mysqli.h"
+#ifdef HAVE_LIBMYSQL_REPLICATION
/* {{{ proto void mysqli_disable_reads_from_master(object link)
*/
PHP_FUNCTION(mysqli_disable_reads_from_master)
@@ -211,6 +212,8 @@ PHP_FUNCTION(mysqli_slave_query)
}
/* }}} */
+#endif /* HAVE_LIBMYSQL_REPLICATION */
+
/*
* Local variables:
* tab-width: 4
diff --git a/ext/mysqli/php_mysqli.h b/ext/mysqli/php_mysqli.h
index 5df531f1bf..b118ce640c 100644
--- a/ext/mysqli/php_mysqli.h
+++ b/ext/mysqli/php_mysqli.h
@@ -301,6 +301,11 @@ if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && stmt->last_errno) { \
php_mysqli_report_error(stmt->sqlstate, stmt->last_errno, stmt->last_error TSRMLS_CC); \
}
+#if MYSQL_VERSION_ID > 32300 && MYSQL_VERSION_ID < 60000
+#define HAVE_LIBMYSQL_REPLICATION
+#endif
+
+
PHP_MYSQLI_API void mysqli_register_link(zval *return_value, void *link TSRMLS_DC);
PHP_MYSQLI_API void mysqli_register_stmt(zval *return_value, void *stmt TSRMLS_DC);
PHP_MYSQLI_API void mysqli_register_result(zval *return_value, void *result TSRMLS_DC);