diff options
Diffstat (limited to 'ext/mysqlnd/mysqlnd_driver.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_driver.c | 72 |
1 files changed, 24 insertions, 48 deletions
diff --git a/ext/mysqlnd/mysqlnd_driver.c b/ext/mysqlnd/mysqlnd_driver.c index 4762d4e720..d553a98ce9 100644 --- a/ext/mysqlnd/mysqlnd_driver.c +++ b/ext/mysqlnd/mysqlnd_driver.c @@ -29,7 +29,7 @@ #include "mysqlnd_reverse_api.h" #include "mysqlnd_ext_plugin.h" -static zend_bool mysqlnd_library_initted = FALSE; +static bool mysqlnd_library_initted = FALSE; static struct st_mysqlnd_plugin_core mysqlnd_plugin_core = { @@ -94,7 +94,7 @@ PHPAPI void mysqlnd_library_init(void) /* {{{ mysqlnd_object_factory::get_connection */ static MYSQLND * -MYSQLND_METHOD(mysqlnd_object_factory, get_connection)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) *factory, const zend_bool persistent) +MYSQLND_METHOD(mysqlnd_object_factory, get_connection)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) *factory, const bool persistent) { const size_t alloc_size_ret = sizeof(MYSQLND) + mysqlnd_plugin_count() * sizeof(void *); const size_t alloc_size_ret_data = sizeof(MYSQLND_CONN_DATA) + mysqlnd_plugin_count() * sizeof(void *); @@ -116,10 +116,7 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_connection)(MYSQLND_CLASS_METHODS_TYP new_object->m = mysqlnd_conn_get_methods(); data = new_object->data; - if (FAIL == mysqlnd_error_info_init(&data->error_info_impl, persistent)) { - new_object->m->dtor(new_object); - DBG_RETURN(NULL); - } + mysqlnd_error_info_init(&data->error_info_impl, persistent); data->error_info = &data->error_info_impl; data->options = &(data->options_impl); @@ -191,57 +188,36 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_prepared_statement)(MYSQLND_CONN_DATA MYSQLND_STMT_DATA * stmt = NULL; DBG_ENTER("mysqlnd_object_factory::get_prepared_statement"); - do { - if (!ret) { - break; - } - ret->m = mysqlnd_stmt_get_methods(); + ret->m = mysqlnd_stmt_get_methods(); - stmt = ret->data = mnd_ecalloc(1, sizeof(MYSQLND_STMT_DATA)); - DBG_INF_FMT("stmt=%p", stmt); - if (!stmt) { - break; - } + stmt = ret->data = mnd_ecalloc(1, sizeof(MYSQLND_STMT_DATA)); + DBG_INF_FMT("stmt=%p", stmt); - if (FAIL == mysqlnd_error_info_init(&stmt->error_info_impl, 0)) { - break; - } - stmt->error_info = &stmt->error_info_impl; - - mysqlnd_upsert_status_init(&stmt->upsert_status_impl); - stmt->upsert_status = &(stmt->upsert_status_impl); - stmt->state = MYSQLND_STMT_INITTED; - stmt->execute_cmd_buffer.length = 4096; - stmt->execute_cmd_buffer.buffer = mnd_emalloc(stmt->execute_cmd_buffer.length); - if (!stmt->execute_cmd_buffer.buffer) { - break; - } - - stmt->prefetch_rows = MYSQLND_DEFAULT_PREFETCH_ROWS; + mysqlnd_error_info_init(&stmt->error_info_impl, 0); + stmt->error_info = &stmt->error_info_impl; - /* - 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); + mysqlnd_upsert_status_init(&stmt->upsert_status_impl); + stmt->upsert_status = &(stmt->upsert_status_impl); + stmt->state = MYSQLND_STMT_INITTED; + stmt->execute_cmd_buffer.length = 4096; + stmt->execute_cmd_buffer.buffer = mnd_emalloc(stmt->execute_cmd_buffer.length); + stmt->prefetch_rows = MYSQLND_DEFAULT_PREFETCH_ROWS; - DBG_RETURN(ret); - } while (0); + /* + 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); - SET_OOM_ERROR(conn->error_info); - if (ret) { - ret->m->dtor(ret, TRUE); - ret = NULL; - } - DBG_RETURN(NULL); + DBG_RETURN(ret); } /* }}} */ /* {{{ mysqlnd_object_factory::get_pfc */ static MYSQLND_PFC * -MYSQLND_METHOD(mysqlnd_object_factory, get_pfc)(const zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info) +MYSQLND_METHOD(mysqlnd_object_factory, get_pfc)(const bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info) { const size_t pfc_alloc_size = ZEND_MM_ALIGNED_SIZE(sizeof(MYSQLND_PFC) + mysqlnd_plugin_count() * sizeof(void *)); const size_t pfc_data_alloc_size = sizeof(MYSQLND_PFC_DATA) + mysqlnd_plugin_count() * sizeof(void *); @@ -266,7 +242,7 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_pfc)(const zend_bool persistent, MYSQ /* {{{ mysqlnd_object_factory::get_vio */ static MYSQLND_VIO * -MYSQLND_METHOD(mysqlnd_object_factory, get_vio)(const zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info) +MYSQLND_METHOD(mysqlnd_object_factory, get_vio)(const bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info) { const size_t vio_alloc_size = ZEND_MM_ALIGNED_SIZE(sizeof(MYSQLND_VIO) + mysqlnd_plugin_count() * sizeof(void *)); const size_t vio_data_alloc_size = sizeof(MYSQLND_VIO_DATA) + mysqlnd_plugin_count() * sizeof(void *); @@ -291,7 +267,7 @@ MYSQLND_METHOD(mysqlnd_object_factory, get_vio)(const zend_bool persistent, MYSQ /* {{{ mysqlnd_object_factory::get_protocol_payload_decoder_factory */ static MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * -MYSQLND_METHOD(mysqlnd_object_factory, get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, const zend_bool persistent) +MYSQLND_METHOD(mysqlnd_object_factory, get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, const bool persistent) { const size_t alloc_size = sizeof(MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY) + mysqlnd_plugin_count() * sizeof(void *); MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY *ret = mnd_pecalloc(1, alloc_size, persistent); |