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

Reply via email to