georg Fri Feb 20 08:09:15 2004 EDT Added files: /php-src/ext/mysqli mysqli_repl.c
Modified files: /php-src/ext/mysqli config.m4 mysqli_api.c Log: Moved functions for replication support in to file mysqli_repl.c - these functions are marked as experimental now in documentation not sure if we will replace or extend them with NDB support in April
http://cvs.php.net/diff.php/php-src/ext/mysqli/config.m4?r1=1.13&r2=1.14&ty=u Index: php-src/ext/mysqli/config.m4 diff -u php-src/ext/mysqli/config.m4:1.13 php-src/ext/mysqli/config.m4:1.14 --- php-src/ext/mysqli/config.m4:1.13 Fri Dec 12 19:28:21 2003 +++ php-src/ext/mysqli/config.m4 Fri Feb 20 08:09:14 2004 @@ -1,5 +1,5 @@ dnl -dnl $Id: config.m4,v 1.13 2003/12/13 00:28:21 georg Exp $ +dnl $Id: config.m4,v 1.14 2004/02/20 13:09:14 georg Exp $ dnl config.m4 for extension mysqli PHP_ARG_WITH(mysqli, for MySQLi support, @@ -50,6 +50,6 @@ $MYSQLI_LIBLINE ]) - PHP_NEW_EXTENSION(mysqli, mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c mysqli_fe.c mysqli_report.c, $ext_shared) + PHP_NEW_EXTENSION(mysqli, mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c mysqli_fe.c mysqli_report.c mysqli_repl.c, $ext_shared) PHP_SUBST(MYSQLI_SHARED_LIBADD) fi http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_api.c?r1=1.72&r2=1.73&ty=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.72 php-src/ext/mysqli/mysqli_api.c:1.73 --- php-src/ext/mysqli/mysqli_api.c:1.72 Wed Feb 18 08:26:57 2004 +++ php-src/ext/mysqli/mysqli_api.c Fri Feb 20 08:09:14 2004 @@ -15,7 +15,7 @@ | Author: Georg Richter <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli_api.c,v 1.72 2004/02/18 13:26:57 georg Exp $ + $Id: mysqli_api.c,v 1.73 2004/02/20 13:09:14 georg Exp $ */ #ifdef HAVE_CONFIG_H @@ -469,38 +469,6 @@ } /* }}} */ -/* {{{ proto void mysqli_disable_reads_from_master(object link) -*/ -PHP_FUNCTION(mysqli_disable_reads_from_master) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - mysql_disable_reads_from_master(mysql); - RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto void mysqli_disable_rpl_parse(object link) -*/ -PHP_FUNCTION(mysqli_disable_rpl_parse) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - mysql_disable_rpl_parse(mysql); - RETURN_TRUE; -} -/* }}} */ - /* {{{ proto bool mysqli_dump_debug_info(object link) */ PHP_FUNCTION(mysqli_dump_debug_info) @@ -523,40 +491,6 @@ } /* }}} */ -/* {{{ proto void mysqli_enable_reads_from_master(object link) -*/ -PHP_FUNCTION(mysqli_enable_reads_from_master) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - mysql_enable_reads_from_master(mysql); - RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto void mysqli_enable_rpl_parse(object link) -*/ -PHP_FUNCTION(mysqli_enable_rpl_parse) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - mysql_enable_rpl_parse(mysql); - RETURN_TRUE; -} -/* }}} */ - /* {{{ proto int mysqli_errno(object link) Returns the numerical value of the error message from previous MySQL operation */ PHP_FUNCTION(mysqli_errno) @@ -1084,26 +1018,6 @@ } /* }}} */ -/* {{{ proto bool mysqli_master_query(object link, string query) - Enforce execution of a query on the master in a master/slave setup */ -PHP_FUNCTION(mysqli_master_query) { - MYSQL *mysql; - zval *mysql_link; - char *query = NULL; - unsigned int query_len; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - if (mysql_master_query(mysql, query, query_len)) { - RETURN_FALSE; - } - RETURN_TRUE; -} -/* }}} */ - /* {{{ proto bool mysqli_more_results(object link) check if there any more query results from a multi query */ PHP_FUNCTION(mysqli_more_results) { @@ -1434,60 +1348,6 @@ } /* }}} */ -/* {{{ proto int mysqli_rpl_parse_enabled(object link) -*/ -PHP_FUNCTION(mysqli_rpl_parse_enabled) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - RETURN_LONG(mysql_rpl_parse_enabled(mysql)); -} -/* }}} */ - -/* {{{ proto bool mysqli_rpl_probe(object link) -*/ -PHP_FUNCTION(mysqli_rpl_probe) -{ - MYSQL *mysql; - zval *mysql_link; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - - if (mysql_rpl_probe(mysql)) { - RETURN_FALSE; - } - RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto int mysqli_rpl_query_type(string query) -*/ -PHP_FUNCTION(mysqli_rpl_query_type) -{ - MYSQL *mysql; - zval *mysql_link; - char *query; - int query_len; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - RETURN_LONG(mysql_rpl_query_type(query, query_len)); -} -/* }}} */ - /* {{{ proto bool mysqli_send_long_data(object stmt, int param_nr, string data) */ PHP_FUNCTION(mysqli_send_long_data) @@ -1515,27 +1375,6 @@ } /* }}} */ -/* {{{ proto bool mysqli_send_query(object link, string query) -*/ -PHP_FUNCTION(mysqli_send_query) -{ - MYSQL *mysql; - zval *mysql_link; - char *query = NULL; - unsigned int query_len; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - if (mysql_send_query(mysql, query, query_len)) { - RETURN_FALSE; - } - RETURN_TRUE; -} -/* }}} */ - #ifdef HAVE_EMBEDDED_MYSQLI /* {{{ proto bool mysqli_server_init(void) initialize embedded server */ @@ -1570,27 +1409,6 @@ /* }}} */ #endif -/* {{{ proto bool mysqli_slave_query(object link, string query) - Enforce execution of a query on a slave in a master/slave setup */ -PHP_FUNCTION(mysqli_slave_query) -{ - MYSQL *mysql; - zval *mysql_link; - char *query = NULL; - unsigned int query_len; - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { - return; - } - MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); - - if (mysql_slave_query(mysql, query, query_len)) { - RETURN_FALSE; - } - RETURN_TRUE; -} -/* }}} */ - /* {{{ proto mixed mysqli_stmt_affected_rows(object stmt) Return the number of rows affected in the last query for the given link */ PHP_FUNCTION(mysqli_stmt_affected_rows) http://cvs.php.net/co.php/php-src/ext/mysqli/mysqli_repl.c?r=1.1&p=1 Index: php-src/ext/mysqli/mysqli_repl.c +++ php-src/ext/mysqli/mysqli_repl.c /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2004 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.0 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_0.txt. | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | [EMAIL PROTECTED] so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Georg Richter <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ $Id: */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <signal.h> #include "php.h" #include "php_ini.h" #include "ext/standard/info.h" #include "php_mysqli.h" /* {{{ proto void mysqli_disable_reads_from_master(object link) */ PHP_FUNCTION(mysqli_disable_reads_from_master) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); mysql_disable_reads_from_master(mysql); RETURN_TRUE; } /* }}} */ /* {{{ proto void mysqli_disable_rpl_parse(object link) */ PHP_FUNCTION(mysqli_disable_rpl_parse) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); mysql_disable_rpl_parse(mysql); RETURN_TRUE; } /* }}} */ /* {{{ proto void mysqli_enable_reads_from_master(object link) */ PHP_FUNCTION(mysqli_enable_reads_from_master) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); mysql_enable_reads_from_master(mysql); RETURN_TRUE; } /* }}} */ /* {{{ proto void mysqli_enable_rpl_parse(object link) */ PHP_FUNCTION(mysqli_enable_rpl_parse) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); mysql_enable_rpl_parse(mysql); RETURN_TRUE; } /* }}} */ /* {{{ proto bool mysqli_master_query(object link, string query) Enforce execution of a query on the master in a master/slave setup */ PHP_FUNCTION(mysqli_master_query) { MYSQL *mysql; zval *mysql_link; char *query = NULL; unsigned int query_len; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); if (mysql_master_query(mysql, query, query_len)) { RETURN_FALSE; } RETURN_TRUE; } /* }}} */ /* {{{ proto int mysqli_rpl_parse_enabled(object link) */ PHP_FUNCTION(mysqli_rpl_parse_enabled) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); RETURN_LONG(mysql_rpl_parse_enabled(mysql)); } /* }}} */ /* {{{ proto bool mysqli_rpl_probe(object link) */ PHP_FUNCTION(mysqli_rpl_probe) { MYSQL *mysql; zval *mysql_link; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); if (mysql_rpl_probe(mysql)) { RETURN_FALSE; } RETURN_TRUE; } /* }}} */ /* {{{ proto int mysqli_rpl_query_type(string query) */ PHP_FUNCTION(mysqli_rpl_query_type) { MYSQL *mysql; zval *mysql_link; char *query; int query_len; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); RETURN_LONG(mysql_rpl_query_type(query, query_len)); } /* }}} */ /* {{{ proto bool mysqli_send_query(object link, string query) */ PHP_FUNCTION(mysqli_send_query) { MYSQL *mysql; zval *mysql_link; char *query = NULL; unsigned int query_len; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); if (mysql_send_query(mysql, query, query_len)) { RETURN_FALSE; } RETURN_TRUE; } /* }}} */ /* {{{ proto bool mysqli_slave_query(object link, string query) Enforce execution of a query on a slave in a master/slave setup */ PHP_FUNCTION(mysqli_slave_query) { MYSQL *mysql; zval *mysql_link; char *query = NULL; unsigned int query_len; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); if (mysql_slave_query(mysql, query, query_len)) { RETURN_FALSE; } RETURN_TRUE; } /* }}} */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php