diff options
author | Dmitry Stogov <dmitry@zend.com> | 2017-11-15 14:07:09 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2017-11-15 14:07:09 +0300 |
commit | 6bcace1b729f48ad378d36c4bba9e576f5f3896e (patch) | |
tree | 3115049844dc58f20a07f32e0197d143b6c4864d /ext/mysqlnd/mysqlnd_structs.h | |
parent | a0724819c2a370b64f85bebce396ff0047c878b8 (diff) | |
download | php-git-6bcace1b729f48ad378d36c4bba9e576f5f3896e.tar.gz |
Use single memory pool for result metadata and result set.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_structs.h')
-rw-r--r-- | ext/mysqlnd/mysqlnd_structs.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h index cf848246c9..f5fb94daa8 100644 --- a/ext/mysqlnd/mysqlnd_structs.h +++ b/ext/mysqlnd/mysqlnd_structs.h @@ -54,6 +54,7 @@ struct st_mysqlnd_memory_pool { zend_arena *arena; void *last; + void *checkpoint; void* (*get_chunk)(MYSQLND_MEMORY_POOL * pool, size_t size); void* (*resize_chunk)(MYSQLND_MEMORY_POOL * pool, void * ptr, size_t old_size, size_t size); @@ -615,7 +616,7 @@ typedef void (*func_mysqlnd_res__free_buffered_data)(MYSQLND_RES *result); typedef void (*func_mysqlnd_res__unbuffered_free_last_data)(MYSQLND_RES *result); -typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res__result_meta_init)(unsigned int field_count); +typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res__result_meta_init)(MYSQLND_RES *result, unsigned int field_count); MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) { @@ -693,8 +694,8 @@ typedef const MYSQLND_FIELD * (*func_mysqlnd_res_meta__fetch_field_direct)(const typedef const MYSQLND_FIELD * (*func_mysqlnd_res_meta__fetch_fields)(MYSQLND_RES_METADATA * const meta); typedef MYSQLND_FIELD_OFFSET (*func_mysqlnd_res_meta__field_tell)(const MYSQLND_RES_METADATA * const meta); typedef MYSQLND_FIELD_OFFSET (*func_mysqlnd_res_meta__field_seek)(MYSQLND_RES_METADATA * const meta, const MYSQLND_FIELD_OFFSET field_offset); -typedef enum_func_status (*func_mysqlnd_res_meta__read_metadata)(MYSQLND_RES_METADATA * const meta, MYSQLND_CONN_DATA * conn); -typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res_meta__clone_metadata)(const MYSQLND_RES_METADATA * const meta); +typedef enum_func_status (*func_mysqlnd_res_meta__read_metadata)(MYSQLND_RES_METADATA * const meta, MYSQLND_CONN_DATA * conn, MYSQLND_RES * result); +typedef MYSQLND_RES_METADATA * (*func_mysqlnd_res_meta__clone_metadata)(MYSQLND_RES *result, const MYSQLND_RES_METADATA * const meta); typedef void (*func_mysqlnd_res_meta__free_metadata)(MYSQLND_RES_METADATA * meta); MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res_meta) @@ -1223,6 +1224,8 @@ struct st_mysqlnd_res MYSQLND_RES_BUFFERED *stored_data; MYSQLND_RES_UNBUFFERED *unbuf; + MYSQLND_MEMORY_POOL *memory_pool; + MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) m; }; |