mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
- Export mysql_refresh to mysqli (mysqli_refresh(), $mysqli->refresh())
This commit is contained in:
parent
d504b65dd8
commit
d15503bfcc
6 changed files with 52 additions and 0 deletions
|
@ -869,6 +869,18 @@ PHP_MINIT_FUNCTION(mysqli)
|
|||
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_CS | CONST_PERSISTENT);
|
||||
#endif
|
||||
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_LOG", REFRESH_LOG, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_TABLES", REFRESH_TABLES, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_HOSTS", REFRESH_HOSTS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_STATUS", REFRESH_STATUS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_THREADS", REFRESH_THREADS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_SLAVE", REFRESH_SLAVE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_MASTER", REFRESH_MASTER, CONST_CS | CONST_PERSISTENT);
|
||||
#ifdef REFRESH_BACKUP_LOG
|
||||
REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_CS | CONST_PERSISTENT);
|
||||
#endif
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
|
|
|
@ -2133,6 +2133,22 @@ PHP_FUNCTION(mysqli_stat)
|
|||
}
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto bool mysqli_refresh(object link, long options)
|
||||
Flush tables or caches, or reset replication server information */
|
||||
PHP_FUNCTION(mysqli_refresh)
|
||||
{
|
||||
MY_MYSQL *mysql;
|
||||
zval *mysql_link = NULL;
|
||||
long options;
|
||||
|
||||
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_link, mysqli_link_class_entry, &options) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_INITIALIZED);
|
||||
RETURN_BOOL(!mysql_refresh(mysql->mysql, options));
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto int mysqli_stmt_attr_set(object stmt, long attr, long mode) U
|
||||
*/
|
||||
|
|
|
@ -180,6 +180,8 @@ const zend_function_entry mysqli_functions[] = {
|
|||
PHP_FE(mysqli_use_result, NULL)
|
||||
PHP_FE(mysqli_warning_count, NULL)
|
||||
|
||||
PHP_FE(mysqli_refresh, NULL)
|
||||
|
||||
/* Aliases */
|
||||
PHP_FALIAS(mysqli_bind_param, mysqli_stmt_bind_param, third_arg_force_by_ref_rest)
|
||||
PHP_FALIAS(mysqli_bind_result, mysqli_stmt_bind_result, second_arg_force_by_ref_rest)
|
||||
|
@ -254,6 +256,7 @@ const zend_function_entry mysqli_link_methods[] = {
|
|||
PHP_FALIAS(store_result,mysqli_store_result,NULL)
|
||||
PHP_FALIAS(thread_safe,mysqli_thread_safe,NULL)
|
||||
PHP_FALIAS(use_result,mysqli_use_result,NULL)
|
||||
PHP_FALIAS(refresh,mysqli_refresh,NULL)
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
/* }}} */
|
||||
|
|
|
@ -483,6 +483,7 @@ PHP_FUNCTION(mysqli_embedded_server_start);
|
|||
PHP_FUNCTION(mysqli_sqlstate);
|
||||
PHP_FUNCTION(mysqli_ssl_set);
|
||||
PHP_FUNCTION(mysqli_stat);
|
||||
PHP_FUNCTION(mysqli_refresh);
|
||||
PHP_FUNCTION(mysqli_stmt_affected_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_close);
|
||||
PHP_FUNCTION(mysqli_stmt_data_seek);
|
||||
|
|
|
@ -431,6 +431,15 @@ typedef enum mysqlnd_collected_stats
|
|||
|
||||
#define MYSQLND_DEFAULT_PREFETCH_ROWS (ulong) 1
|
||||
|
||||
#define MYSQLND_REFRESH_GRANT 1 /* Refresh grant tables */
|
||||
#define MYSQLND_REFRESH_LOG 2 /* Start on new log file */
|
||||
#define MYSQLND_REFRESH_TABLES 4 /* close all tables */
|
||||
#define MYSQLND_REFRESH_HOSTS 8 /* Flush host cache */
|
||||
#define MYSQLND_REFRESH_STATUS 16 /* Flush status variables */
|
||||
#define MYSQLND_REFRESH_THREADS 32 /* Flush thread cache */
|
||||
#define MYSQLND_REFRESH_SLAVE 64 /* Reset master info and restart slave */
|
||||
#define MYSQLND_REFRESH_MASTER 128 /* Remove all bin logs in the index */
|
||||
#define MYSQLND_REFRESH_BACKUP_LOG 0x200000L
|
||||
|
||||
#endif /* MYSQLND_ENUM_N_DEF_H */
|
||||
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
#define mysql_ping(r) mysqlnd_ping((r))
|
||||
#define mysql_real_escape_string(r,a,b,c) mysqlnd_real_escape_string((r), (a), (b), (c))
|
||||
#define mysql_real_query(r,a,b) mysqlnd_query((r), (a), (b))
|
||||
#define mysql_refresh(conn, options) mysqlnd_refresh((conn), (options))
|
||||
#define mysql_rollback(r) mysqlnd_rollback((r))
|
||||
#define mysql_select_db(r,a) mysqlnd_select_db((r), (a) ,strlen((a)))
|
||||
#define mysql_set_server_option(r,o) mysqlnd_set_server_option((r), (o))
|
||||
|
@ -118,4 +119,14 @@
|
|||
#define mysql_warning_count(r) mysqlnd_warning_count((r))
|
||||
#define mysql_eof(r) (((r)->unbuf && (r)->unbuf->eof_reached) || (r)->stored_data)
|
||||
|
||||
#define REFRESH_GRANT MYSQLND_REFRESH_GRANT
|
||||
#define REFRESH_LOG MYSQLND_REFRESH_LOG
|
||||
#define REFRESH_TABLES MYSQLND_REFRESH_TABLES
|
||||
#define REFRESH_HOSTS MYSQLND_REFRESH_HOSTS
|
||||
#define REFRESH_STATUS MYSQLND_REFRESH_STATUS
|
||||
#define REFRESH_THREADS MYSQLND_REFRESH_THREADS
|
||||
#define REFRESH_SLAVE MYSQLND_REFRESH_SLAVE
|
||||
#define REFRESH_MASTER MYSQLND_REFRESH_MASTER
|
||||
#define REFRESH_BACKUP_LOG MYSQLND_REFRESH_BACKUP_LOG
|
||||
|
||||
#endif /* MYSQLND_LIBMYSQL_COMPAT_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue