mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Add plugin storage for MYSQLND_STMT too
This commit is contained in:
parent
c8c250df80
commit
00d76a8445
@ -71,6 +71,9 @@ PHPAPI void ** _mysqlnd_plugin_get_plugin_connection_data(const MYSQLND * conn,
|
||||
PHPAPI void ** _mysqlnd_plugin_get_plugin_result_data(const MYSQLND_RES * result, unsigned int plugin_id TSRMLS_DC);
|
||||
#define mysqlnd_plugin_get_plugin_result_data(r, p_id) _mysqlnd_plugin_get_plugin_result_data((r), (p_id) TSRMLS_CC)
|
||||
|
||||
PHPAPI void ** _mysqlnd_plugin_get_plugin_stmt_data(const MYSQLND_STMT * stmt, unsigned int plugin_id TSRMLS_DC);
|
||||
#define mysqlnd_plugin_get_plugin_stmt_data(s, p_id) _mysqlnd_plugin_get_plugin_stmt_data((s), (p_id) TSRMLS_CC)
|
||||
|
||||
|
||||
PHPAPI struct st_mysqlnd_conn_methods * mysqlnd_conn_get_methods();
|
||||
PHPAPI void mysqlnd_conn_set_methods(struct st_mysqlnd_conn_methods *methods);
|
||||
|
@ -2081,7 +2081,8 @@ MYSQLND_CLASS_METHODS_END;
|
||||
/* {{{ _mysqlnd_stmt_init */
|
||||
MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC)
|
||||
{
|
||||
MYSQLND_STMT *stmt = mnd_ecalloc(1, sizeof(MYSQLND_STMT));
|
||||
size_t alloc_size = sizeof(MYSQLND_STMT) + mysqlnd_plugin_count() * sizeof(void *);
|
||||
MYSQLND_STMT *stmt = mnd_ecalloc(1, alloc_size);
|
||||
|
||||
DBG_ENTER("_mysqlnd_stmt_init");
|
||||
DBG_INF_FMT("stmt=%p", stmt);
|
||||
@ -2107,6 +2108,19 @@ MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC)
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ _mysqlnd_plugin_get_plugin_stmt_data */
|
||||
PHPAPI void ** _mysqlnd_plugin_get_plugin_stmt_data(const MYSQLND_STMT * stmt, unsigned int plugin_id TSRMLS_DC)
|
||||
{
|
||||
DBG_ENTER("_mysqlnd_plugin_get_plugin_stmt_data");
|
||||
DBG_INF_FMT("plugin_id=%u", plugin_id);
|
||||
if (!stmt || plugin_id >= mysqlnd_plugin_count()) {
|
||||
return NULL;
|
||||
}
|
||||
DBG_RETURN((void *)((char *)stmt + sizeof(MYSQLND_STMT) + plugin_id * sizeof(void *)));
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ mysqlnd_efree_param_bind_dtor */
|
||||
PHPAPI void
|
||||
mysqlnd_efree_param_bind_dtor(MYSQLND_PARAM_BIND * param_bind TSRMLS_DC)
|
||||
|
@ -1585,7 +1585,7 @@ PHPAPI void ** _mysqlnd_plugin_get_plugin_result_data(const MYSQLND_RES * result
|
||||
if (!result || plugin_id >= mysqlnd_plugin_count()) {
|
||||
return NULL;
|
||||
}
|
||||
DBG_RETURN((void *)(result + sizeof(MYSQLND_RES) + plugin_id * sizeof(void *)));
|
||||
DBG_RETURN((void *)((char *)result + sizeof(MYSQLND_RES) + plugin_id * sizeof(void *)));
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user