mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
MNDR:
- remove static function and make it a method. The function doesn't need to be in mysqlnd_ps.c as it doesn't use any resources anymore from it (it used in the past)
This commit is contained in:
parent
3f7a7837cd
commit
19443351ed
4 changed files with 22 additions and 24 deletions
|
@ -2974,7 +2974,16 @@ MYSQLND_METHOD(mysqlnd_conn_data, local_tx_end)(MYSQLND_CONN_DATA * conn, size_t
|
|||
/* }}} */
|
||||
|
||||
|
||||
MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND_CONN_DATA * const conn);
|
||||
/* {{{ _mysqlnd_stmt_init */
|
||||
MYSQLND_STMT *
|
||||
MYSQLND_METHOD(mysqlnd_conn_data, stmt_init)(MYSQLND_CONN_DATA * const conn)
|
||||
{
|
||||
MYSQLND_STMT * ret;
|
||||
DBG_ENTER("_mysqlnd_stmt_init");
|
||||
ret = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_prepared_statement(conn, conn->persistent);
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
MYSQLND_CLASS_METHODS_START(mysqlnd_conn_data)
|
||||
|
@ -2990,7 +2999,7 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn_data)
|
|||
MYSQLND_METHOD(mysqlnd_conn_data, next_result),
|
||||
MYSQLND_METHOD(mysqlnd_conn_data, more_results),
|
||||
|
||||
_mysqlnd_stmt_init,
|
||||
MYSQLND_METHOD(mysqlnd_conn_data, stmt_init),
|
||||
|
||||
MYSQLND_METHOD(mysqlnd_conn_data, shutdown),
|
||||
MYSQLND_METHOD(mysqlnd_conn_data, refresh),
|
||||
|
|
|
@ -196,7 +196,7 @@ MYSQLND_METHOD(mysqlnd_object_factory, clone_connection_object)(MYSQLND * to_be_
|
|||
|
||||
/* {{{ mysqlnd_object_factory::get_prepared_statement */
|
||||
static MYSQLND_STMT *
|
||||
MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA * const conn)
|
||||
MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA * const conn, zend_bool persistent)
|
||||
{
|
||||
size_t alloc_size = sizeof(MYSQLND_STMT) + mysqlnd_plugin_count() * sizeof(void *);
|
||||
MYSQLND_STMT * ret = mnd_pecalloc(1, alloc_size, conn->persistent);
|
||||
|
@ -210,12 +210,12 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA
|
|||
ret->m = mysqlnd_stmt_get_methods();
|
||||
ret->persistent = conn->persistent;
|
||||
|
||||
stmt = ret->data = mnd_pecalloc(1, sizeof(MYSQLND_STMT_DATA), conn->persistent);
|
||||
stmt = ret->data = mnd_pecalloc(1, sizeof(MYSQLND_STMT_DATA), persistent);
|
||||
DBG_INF_FMT("stmt=%p", stmt);
|
||||
if (!stmt) {
|
||||
break;
|
||||
}
|
||||
stmt->persistent = conn->persistent;
|
||||
stmt->persistent = persistent;
|
||||
stmt->error_info = &(stmt->error_info_impl);
|
||||
stmt->upsert_status = &(stmt->upsert_status_impl);
|
||||
stmt->state = MYSQLND_STMT_INITTED;
|
||||
|
@ -226,18 +226,19 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA
|
|||
}
|
||||
|
||||
stmt->prefetch_rows = MYSQLND_DEFAULT_PREFETCH_ROWS;
|
||||
stmt->error_info->error_list = mnd_pecalloc(1, sizeof(zend_llist), ret->persistent);
|
||||
if (!stmt->error_info->error_list) {
|
||||
break;
|
||||
}
|
||||
|
||||
zend_llist_init(stmt->error_info->error_list, sizeof(MYSQLND_ERROR_LIST_ELEMENT), (llist_dtor_func_t) mysqlnd_error_list_pdtor, persistent);
|
||||
|
||||
/*
|
||||
Mark that we reference the connection, thus it won't be
|
||||
be destructed till there is open statements. The last statement
|
||||
or normal query result will close it then.
|
||||
*/
|
||||
stmt->conn = conn->m->get_reference(conn);
|
||||
stmt->error_info->error_list = mnd_pecalloc(1, sizeof(zend_llist), ret->persistent);
|
||||
if (!stmt->error_info->error_list) {
|
||||
break;
|
||||
}
|
||||
|
||||
zend_llist_init(stmt->error_info->error_list, sizeof(MYSQLND_ERROR_LIST_ELEMENT), (llist_dtor_func_t) mysqlnd_error_list_pdtor, conn->persistent);
|
||||
|
||||
DBG_RETURN(ret);
|
||||
} while (0);
|
||||
|
|
|
@ -2370,18 +2370,6 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_stmt)
|
|||
MYSQLND_CLASS_METHODS_END;
|
||||
|
||||
|
||||
/* {{{ _mysqlnd_stmt_init */
|
||||
MYSQLND_STMT *
|
||||
_mysqlnd_stmt_init(MYSQLND_CONN_DATA * const conn)
|
||||
{
|
||||
MYSQLND_STMT * ret;
|
||||
DBG_ENTER("_mysqlnd_stmt_init");
|
||||
ret = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_prepared_statement(conn);
|
||||
DBG_RETURN(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ _mysqlnd_init_ps_subsystem */
|
||||
void _mysqlnd_init_ps_subsystem()
|
||||
{
|
||||
|
|
|
@ -401,7 +401,7 @@ struct st_mysqlnd_protocol_payload_decoder_factory_methods
|
|||
|
||||
typedef MYSQLND * (*func_mysqlnd_object_factory__get_connection)(zend_bool persistent);
|
||||
typedef MYSQLND * (*func_mysqlnd_object_factory__clone_connection_object)(MYSQLND * conn);
|
||||
typedef MYSQLND_STMT * (*func_mysqlnd_object_factory__get_prepared_statement)(MYSQLND_CONN_DATA * conn);
|
||||
typedef MYSQLND_STMT * (*func_mysqlnd_object_factory__get_prepared_statement)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
|
||||
typedef MYSQLND_NET * (*func_mysqlnd_object_factory__get_io_channel)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
|
||||
typedef MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * (*func_mysqlnd_object_factory__get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue