summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_structs.h
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2011-10-25 23:01:49 +0000
committerAndrey Hristov <andrey@php.net>2011-10-25 23:01:49 +0000
commit845d8fa10c30f68acf425e20a69d3f33fc565e41 (patch)
treede8a39dbc4aad0c5cd72cf687de48929132dac80 /ext/mysqlnd/mysqlnd_structs.h
parent5e8bcbb08ac9b63ec33a69638ea6517a05a66bb6 (diff)
downloadphp-git-845d8fa10c30f68acf425e20a69d3f33fc565e41.tar.gz
Move from directly referencing an aggregated structure to using a
pointer to a structure. The structure is still aggregated but we add a level of indirection for possible plugins to overwrite the storage
Diffstat (limited to 'ext/mysqlnd/mysqlnd_structs.h')
-rw-r--r--ext/mysqlnd/mysqlnd_structs.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h
index bc5bdb7f6b..db8990adef 100644
--- a/ext/mysqlnd/mysqlnd_structs.h
+++ b/ext/mysqlnd/mysqlnd_structs.h
@@ -433,6 +433,7 @@ typedef unsigned int (*func_mysqlnd_conn__get_warning_count)(const MYSQLND * co
typedef unsigned int (*func_mysqlnd_conn__get_field_count)(const MYSQLND * const conn TSRMLS_DC);
+typedef unsigned int (*func_mysqlnd_conn__get_server_status)(const MYSQLND * const conn TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn__set_server_option)(MYSQLND * const conn, enum_mysqlnd_server_option option TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_conn__set_client_option)(MYSQLND * const conn, enum_mysqlnd_option option, const char * const value TSRMLS_DC);
typedef void (*func_mysqlnd_conn__free_contents)(MYSQLND *conn TSRMLS_DC); /* private */
@@ -513,6 +514,8 @@ struct st_mysqlnd_conn_methods
func_mysqlnd_conn__get_field_count get_field_count;
+ func_mysqlnd_conn__get_server_status get_server_status;
+
func_mysqlnd_conn__set_server_option set_server_option;
func_mysqlnd_conn__set_client_option set_client_option;
func_mysqlnd_conn__free_contents free_contents;
@@ -821,12 +824,14 @@ struct st_mysqlnd_connection
unsigned long server_capabilities;
/* For UPSERT queries */
- MYSQLND_UPSERT_STATUS upsert_status;
+ MYSQLND_UPSERT_STATUS * upsert_status;
+ MYSQLND_UPSERT_STATUS upsert_status_impl;
char *last_message;
unsigned int last_message_len;
/* If error packet, we use these */
- MYSQLND_ERROR_INFO error_info;
+ MYSQLND_ERROR_INFO * error_info;
+ MYSQLND_ERROR_INFO error_info_impl;
/*
To prevent queries during unbuffered fetches. Also to
@@ -853,7 +858,8 @@ struct st_mysqlnd_connection
zend_bool persistent;
/* options */
- MYSQLND_OPTIONS options;
+ MYSQLND_OPTIONS * options;
+ MYSQLND_OPTIONS options_impl;
/* stats */
MYSQLND_STATS * stats;
@@ -971,9 +977,11 @@ struct st_mysqlnd_stmt_data
zend_bool result_zvals_separated_once;
zend_bool persistent;
- MYSQLND_UPSERT_STATUS upsert_status;
+ MYSQLND_UPSERT_STATUS * upsert_status;
+ MYSQLND_UPSERT_STATUS upsert_status_impl;
- MYSQLND_ERROR_INFO error_info;
+ MYSQLND_ERROR_INFO * error_info;
+ MYSQLND_ERROR_INFO error_info_impl;
zend_bool update_max_length;
unsigned long prefetch_rows;
@@ -1053,11 +1061,4 @@ struct st_mysqlnd_authentication_plugin
};
-typedef struct st_mysqlnd_reverse_api
-{
- zend_module_entry * module;
- MYSQLND *(*conversion_cb)(zval * zv TSRMLS_DC);
-} MYSQLND_REVERSE_API;
-
-
#endif /* MYSQLND_STRUCTS_H */