diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-11 17:13:38 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-14 10:43:28 +0100 |
commit | 2d51c203f09551323ed595514e03ab206fd93129 (patch) | |
tree | 5069c1608f092ee57d312d28b1b9d4064abd0c62 /ext/pdo/php_pdo_driver.h | |
parent | c288b5294bb0e13ad2904a3ec79265f727baaea3 (diff) | |
download | php-git-2d51c203f09551323ed595514e03ab206fd93129.tar.gz |
PDO: Store/pass query_string as zend_string
Rather than storing char* + size_t, use a zend_string*. Also
avoid various copies of the query string.
Diffstat (limited to 'ext/pdo/php_pdo_driver.h')
-rw-r--r-- | ext/pdo/php_pdo_driver.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h index 2c6bd96600..da53c1a3b9 100644 --- a/ext/pdo/php_pdo_driver.h +++ b/ext/pdo/php_pdo_driver.h @@ -247,7 +247,7 @@ typedef struct { typedef int (*pdo_dbh_close_func)(pdo_dbh_t *dbh); /* prepare a statement and stash driver specific portion into stmt */ -typedef int (*pdo_dbh_prepare_func)(pdo_dbh_t *dbh, const char *sql, size_t sql_len, pdo_stmt_t *stmt, zval *driver_options); +typedef int (*pdo_dbh_prepare_func)(pdo_dbh_t *dbh, zend_string *sql, pdo_stmt_t *stmt, zval *driver_options); /* execute a statement (that does not return a result set) */ typedef zend_long (*pdo_dbh_do_func)(pdo_dbh_t *dbh, const char *sql, size_t sql_len); @@ -604,12 +604,10 @@ struct _pdo_stmt_t { zend_long row_count; /* used to hold the statement's current query */ - char *query_string; - size_t query_stringlen; + zend_string *query_string; /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */ - char *active_query_string; - size_t active_query_stringlen; + zend_string *active_query_string; /* the cursor specific error code. */ pdo_error_type error_code; @@ -685,8 +683,7 @@ PDO_API int php_pdo_parse_data_source(const char *data_source, PDO_API zend_class_entry *php_pdo_get_dbh_ce(void); PDO_API zend_class_entry *php_pdo_get_exception(void); -PDO_API int pdo_parse_params(pdo_stmt_t *stmt, const char *inquery, size_t inquery_len, - char **outquery, size_t *outquery_len); +PDO_API int pdo_parse_params(pdo_stmt_t *stmt, zend_string *inquery, zend_string **outquery); PDO_API void pdo_raise_impl_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, const char *sqlstate, const char *supp); |