mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
move from macros to functions, which can be overwritten, if needed
This commit is contained in:
parent
12bdec05a4
commit
59c5875f83
3 changed files with 52 additions and 4 deletions
|
@ -2362,6 +2362,43 @@ MYSQLND_METHOD(mysqlnd_conn, get_connection_stats)(const MYSQLND * const conn,
|
|||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_conn::set_autocommit */
|
||||
static enum_func_status
|
||||
MYSQLND_METHOD(mysqlnd_conn, set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC)
|
||||
{
|
||||
enum_func_status ret;
|
||||
DBG_ENTER("mysqlnd_conn::set_autocommit");
|
||||
ret = conn->m->query(conn, (mode) ? "SET AUTOCOMMIT=1":"SET AUTOCOMMIT=0", sizeof("SET AUTOCOMMIT=1") - 1 TSRMLS_CC);
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_conn::tx_commit */
|
||||
static enum_func_status
|
||||
MYSQLND_METHOD(mysqlnd_conn, tx_commit)(MYSQLND * conn TSRMLS_DC)
|
||||
{
|
||||
enum_func_status ret;
|
||||
DBG_ENTER("mysqlnd_conn::tx_commit");
|
||||
ret = conn->m->query(conn, "COMMIT", sizeof("COMMIT") - 1 TSRMLS_CC);
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_conn::tx_rollback */
|
||||
static enum_func_status
|
||||
MYSQLND_METHOD(mysqlnd_conn, tx_rollback)(MYSQLND * conn TSRMLS_DC)
|
||||
{
|
||||
enum_func_status ret;
|
||||
DBG_ENTER("mysqlnd_conn::tx_rollback");
|
||||
ret = conn->m->query(conn, "ROLLBACK", sizeof("ROLLBACK") - 1 TSRMLS_CC);
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
|
||||
MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC);
|
||||
static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC);
|
||||
|
||||
|
@ -2435,7 +2472,10 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn)
|
|||
MYSQLND_METHOD(mysqlnd_conn, send_close),
|
||||
|
||||
MYSQLND_METHOD(mysqlnd_conn, ssl_set),
|
||||
mysqlnd_result_init
|
||||
mysqlnd_result_init,
|
||||
MYSQLND_METHOD(mysqlnd_conn, set_autocommit),
|
||||
MYSQLND_METHOD(mysqlnd_conn, tx_commit),
|
||||
MYSQLND_METHOD(mysqlnd_conn, tx_rollback)
|
||||
MYSQLND_CLASS_METHODS_END;
|
||||
|
||||
|
||||
|
|
|
@ -208,9 +208,9 @@ PHPAPI void mysqlnd_local_infile_default(MYSQLND *conn);
|
|||
PHPAPI void mysqlnd_set_local_infile_handler(MYSQLND * const conn, const char * const funcname);
|
||||
|
||||
/* Simple commands */
|
||||
#define mysqlnd_autocommit(conn, mode) (conn)->m->query((conn),(mode) ? "SET AUTOCOMMIT=1":"SET AUTOCOMMIT=0", 16 TSRMLS_CC)
|
||||
#define mysqlnd_commit(conn) (conn)->m->query((conn), "COMMIT", sizeof("COMMIT")-1 TSRMLS_CC)
|
||||
#define mysqlnd_rollback(conn) (conn)->m->query((conn), "ROLLBACK", sizeof("ROLLBACK")-1 TSRMLS_CC)
|
||||
#define mysqlnd_autocommit(conn, mode) (conn)->m->set_autocommit((conn), (mode) TSRMLS_CC)
|
||||
#define mysqlnd_commit(conn) (conn)->m->tx_commit((conn) TSRMLS_CC)
|
||||
#define mysqlnd_rollback(conn) (conn)->m->tx_rollback((conn) TSRMLS_CC)
|
||||
#define mysqlnd_list_dbs(conn, wild) (conn)->m->list_method((conn), wild? "SHOW DATABASES LIKE %s":"SHOW DATABASES", (wild), NULL TSRMLS_CC)
|
||||
#define mysqlnd_list_fields(conn, tab,wild) (conn)->m->list_fields((conn), (tab), (wild) TSRMLS_CC)
|
||||
#define mysqlnd_list_processes(conn) (conn)->m->list_method((conn), "SHOW PROCESSLIST", NULL, NULL TSRMLS_CC)
|
||||
|
|
|
@ -411,6 +411,11 @@ typedef enum_func_status (*func_mysqlnd_conn__ssl_set)(MYSQLND * const conn,
|
|||
|
||||
typedef MYSQLND_RES * (*func_mysqlnd_conn__result_init)(unsigned int field_count, zend_bool persistent TSRMLS_DC);
|
||||
|
||||
typedef enum_func_status (*func_mysqlnd_conn__set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC);
|
||||
typedef enum_func_status (*func_mysqlnd_conn__tx_commit)(MYSQLND * conn TSRMLS_DC);
|
||||
typedef enum_func_status (*func_mysqlnd_conn__tx_rollback)(MYSQLND * conn TSRMLS_DC);
|
||||
|
||||
|
||||
struct st_mysqlnd_conn_methods
|
||||
{
|
||||
func_mysqlnd_conn__init init;
|
||||
|
@ -482,6 +487,9 @@ struct st_mysqlnd_conn_methods
|
|||
func_mysqlnd_conn__ssl_set ssl_set;
|
||||
|
||||
func_mysqlnd_conn__result_init result_init;
|
||||
func_mysqlnd_conn__set_autocommit set_autocommit;
|
||||
func_mysqlnd_conn__tx_commit tx_commit;
|
||||
func_mysqlnd_conn__tx_rollback tx_rollback;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue