diff options
Diffstat (limited to 'ext/mysqlnd/mysqlnd_structs.h')
-rw-r--r-- | ext/mysqlnd/mysqlnd_structs.h | 80 |
1 files changed, 44 insertions, 36 deletions
diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h index 334eef8061..d9cc7351f1 100644 --- a/ext/mysqlnd/mysqlnd_structs.h +++ b/ext/mysqlnd/mysqlnd_structs.h @@ -92,10 +92,10 @@ typedef struct st_mysqlnd_field typedef struct st_mysqlnd_upsert_result { - unsigned int warning_count; - unsigned int server_status; - uint64 affected_rows; - uint64 last_insert_id; + unsigned int warning_count; + unsigned int server_status; + uint64 affected_rows; + uint64 last_insert_id; } mysqlnd_upsert_status; @@ -212,7 +212,7 @@ typedef struct st_mysqlnd_stats { uint64 values[STAT_LAST]; #ifdef ZTS - MUTEX_T LOCK_access; + MUTEX_T LOCK_access; #endif } MYSQLND_STATS; @@ -257,7 +257,7 @@ struct st_mysqlnd_conn_methods unsigned int (*get_error_no)(const MYSQLND * const conn); const char * (*get_error_str)(const MYSQLND * const conn); const char * (*get_sqlstate)(const MYSQLND * const conn); - uint64 (*get_thread_id)(const MYSQLND * const conn); + uint64 (*get_thread_id)(const MYSQLND * const conn); void (*get_statistics)(const MYSQLND * const conn, zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC); unsigned long (*get_server_version)(const MYSQLND * const conn); @@ -270,8 +270,8 @@ struct st_mysqlnd_conn_methods MYSQLND_RES * (*list_fields)(MYSQLND *conn, const char *table, const char *achtung_wild TSRMLS_DC); MYSQLND_RES * (*list_method)(MYSQLND *conn, const char *query, const char *achtung_wild, char *par1 TSRMLS_DC); - uint64 (*get_last_insert_id)(const MYSQLND * const conn); - uint64 (*get_affected_rows)(const MYSQLND * const conn); + uint64 (*get_last_insert_id)(const MYSQLND * const conn); + uint64 (*get_affected_rows)(const MYSQLND * const conn); unsigned int (*get_warning_count)(const MYSQLND * const conn); unsigned int (*get_field_count)(const MYSQLND * const conn); @@ -302,14 +302,15 @@ struct st_mysqlnd_res_methods MYSQLND_ROW_C (*fetch_row_c)(MYSQLND_RES *result TSRMLS_DC); void (*fetch_all)(MYSQLND_RES *result, unsigned int flags, zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC); void (*fetch_field_data)(MYSQLND_RES *result, unsigned int offset, zval *return_value TSRMLS_DC); - uint64 (*num_rows)(const MYSQLND_RES * const result); + uint64 (*num_rows)(const MYSQLND_RES * const result); unsigned int (*num_fields)(const MYSQLND_RES * const result); enum_func_status (*skip_result)(MYSQLND_RES * const result TSRMLS_DC); enum_func_status (*seek_data)(MYSQLND_RES * result, uint64 row TSRMLS_DC); MYSQLND_FIELD_OFFSET (*seek_field)(MYSQLND_RES * const result, MYSQLND_FIELD_OFFSET field_offset); MYSQLND_FIELD_OFFSET (*field_tell)(const MYSQLND_RES * const result); - MYSQLND_FIELD * (*fetch_field)(MYSQLND_RES * const result TSRMLS_DC); - MYSQLND_FIELD * (*fetch_field_direct)(MYSQLND_RES * const result, MYSQLND_FIELD_OFFSET fieldnr TSRMLS_DC); + const MYSQLND_FIELD *(*fetch_field)(MYSQLND_RES * const result TSRMLS_DC); + const MYSQLND_FIELD *(*fetch_field_direct)(MYSQLND_RES * const result, MYSQLND_FIELD_OFFSET fieldnr TSRMLS_DC); + const MYSQLND_FIELD *(*fetch_fields)(MYSQLND_RES * const result TSRMLS_DC); enum_func_status (*read_result_metadata)(MYSQLND_RES *result, MYSQLND *conn TSRMLS_DC); unsigned long * (*fetch_lengths)(MYSQLND_RES * const result); @@ -325,8 +326,9 @@ struct st_mysqlnd_res_methods struct st_mysqlnd_res_meta_methods { - MYSQLND_FIELD * (*fetch_field)(MYSQLND_RES_METADATA * const meta TSRMLS_DC); - MYSQLND_FIELD * (*fetch_field_direct)(const MYSQLND_RES_METADATA * const meta, MYSQLND_FIELD_OFFSET fieldnr TSRMLS_DC); + const MYSQLND_FIELD * (*fetch_field)(MYSQLND_RES_METADATA * const meta TSRMLS_DC); + const MYSQLND_FIELD * (*fetch_field_direct)(const MYSQLND_RES_METADATA * const meta, MYSQLND_FIELD_OFFSET fieldnr TSRMLS_DC); + const MYSQLND_FIELD * (*fetch_fields)(MYSQLND_RES_METADATA * const meta TSRMLS_DC); MYSQLND_FIELD_OFFSET (*field_tell)(const MYSQLND_RES_METADATA * const meta); enum_func_status (*read_metadata)(MYSQLND_RES_METADATA * const meta, MYSQLND *conn TSRMLS_DC); MYSQLND_RES_METADATA * (*clone_metadata)(const MYSQLND_RES_METADATA * const meta, zend_bool persistent TSRMLS_DC); @@ -350,17 +352,20 @@ struct st_mysqlnd_stmt_methods enum_func_status (*fetch)(MYSQLND_STMT * const stmt, zend_bool * const fetched_anything TSRMLS_DC); - enum_func_status (*bind_param)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * const param_bind TSRMLS_DC); + enum_func_status (*bind_parameters)(MYSQLND_STMT * const stmt, MYSQLND_PARAM_BIND * const param_bind TSRMLS_DC); + enum_func_status (*bind_one_parameter)(MYSQLND_STMT * const stmt, unsigned int param_no, zval * const zv, zend_uchar type TSRMLS_DC); enum_func_status (*refresh_bind_param)(MYSQLND_STMT * const stmt TSRMLS_DC); + void (*set_param_bind_dtor)(MYSQLND_STMT * const stmt, void (*param_bind_dtor)(MYSQLND_PARAM_BIND *) TSRMLS_DC); enum_func_status (*bind_result)(MYSQLND_STMT * const stmt, MYSQLND_RESULT_BIND * const result_bind TSRMLS_DC); + void (*set_result_bind_dtor)(MYSQLND_STMT * const stmt, void (*result_bind_dtor)(MYSQLND_RESULT_BIND *) TSRMLS_DC); enum_func_status (*send_long_data)(MYSQLND_STMT * const stmt, unsigned int param_num, const char * const data, unsigned long length TSRMLS_DC); - MYSQLND_RES * (*get_parameter_metadata)(MYSQLND_STMT * const stmt); - MYSQLND_RES * (*get_result_metadata)(MYSQLND_STMT * const stmt TSRMLS_DC); + MYSQLND_RES * (*get_parameter_metadata)(MYSQLND_STMT * const stmt); + MYSQLND_RES * (*get_result_metadata)(MYSQLND_STMT * const stmt TSRMLS_DC); - uint64 (*get_last_insert_id)(const MYSQLND_STMT * const stmt); - uint64 (*get_affected_rows)(const MYSQLND_STMT * const stmt); - uint64 (*get_num_rows)(const MYSQLND_STMT * const stmt); + uint64 (*get_last_insert_id)(const MYSQLND_STMT * const stmt); + uint64 (*get_affected_rows)(const MYSQLND_STMT * const stmt); + uint64 (*get_num_rows)(const MYSQLND_STMT * const stmt); unsigned int (*get_param_count)(const MYSQLND_STMT * const stmt); unsigned int (*get_field_count)(const MYSQLND_STMT * const stmt); @@ -387,7 +392,7 @@ struct st_mysqlnd_connection char *passwd; unsigned int *passwd_len; char *scheme; - uint64 thread_id; + uint64 thread_id; char *server_version; char *host_info; unsigned char *scramble; @@ -493,22 +498,22 @@ struct st_mysqlnd_result_metadata struct st_mysqlnd_background_buffered_result { - zval ***data; - uint64 data_size; - zval ***data_cursor; + zval ***data; + uint64 data_size; + zval ***data_cursor; MYSQLND_MEMORY_POOL_CHUNK **row_buffers; - uint64 row_count; - uint64 initialized_rows; - zend_bool persistent; + uint64 row_count; + uint64 initialized_rows; + zend_bool persistent; - MYSQLND_QCACHE *qcache; - unsigned int references; + MYSQLND_QCACHE *qcache; + unsigned int references; - zend_bool decode_in_foreground; + zend_bool decode_in_foreground; #ifdef ZTS - zend_bool bg_fetch_finished; - MUTEX_T LOCK; + zend_bool bg_fetch_finished; + MUTEX_T LOCK; #endif mysqlnd_error_info error_info; @@ -521,8 +526,8 @@ struct st_mysqlnd_buffered_result zval **data; zval **data_cursor; MYSQLND_MEMORY_POOL_CHUNK **row_buffers; - uint64 row_count; - uint64 initialized_rows; + uint64 row_count; + uint64 initialized_rows; zend_bool persistent; MYSQLND_QCACHE *qcache; @@ -538,7 +543,7 @@ struct st_mysqlnd_unbuffered_result zval **last_row_data; MYSQLND_MEMORY_POOL_CHUNK *last_row_buffer; - uint64 row_count; + uint64 row_count; zend_bool eof_reached; }; @@ -565,10 +570,10 @@ struct st_mysqlnd_res */ unsigned long *lengths; - php_mysql_packet_row *row_packet; /* Unused for PS */ + php_mysql_packet_row *row_packet; /* zval cache */ - MYSQLND_THD_ZVAL_PCACHE *zval_cache; + MYSQLND_THD_ZVAL_PCACHE *zval_cache; }; @@ -615,6 +620,9 @@ struct st_mysqlnd_stmt MYSQLND_CMD_BUFFER cmd_buffer; unsigned int execute_count;/* count how many times the stmt was executed */ + void (*param_bind_dtor)(MYSQLND_PARAM_BIND *); + void (*result_bind_dtor)(MYSQLND_RESULT_BIND *); + struct st_mysqlnd_stmt_methods *m; }; |