diff options
| author | Wez Furlong <wez@php.net> | 2005-02-07 01:12:49 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2005-02-07 01:12:49 +0000 |
| commit | 36e3ea8cb240b1a4c58988c0e4ea47d827f180cf (patch) | |
| tree | 5498fd654bcbbb5e68c766f09a8ea67ef8a4dcbd /ext | |
| parent | 504afcfc5a3bf8f0498196004a8078a036ed98bd (diff) | |
| download | php-git-36e3ea8cb240b1a4c58988c0e4ea47d827f180cf.tar.gz | |
add input/output parameter type flag
Diffstat (limited to 'ext')
| -rwxr-xr-x | ext/pdo/pdo.c | 1 | ||||
| -rwxr-xr-x | ext/pdo/pdo_stmt.c | 4 | ||||
| -rwxr-xr-x | ext/pdo/php_pdo_driver.h | 8 |
3 files changed, 10 insertions, 3 deletions
diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c index 37ec230803..d8fa74c411 100755 --- a/ext/pdo/pdo.c +++ b/ext/pdo/pdo.c @@ -222,6 +222,7 @@ PHP_MINIT_FUNCTION(pdo) REGISTER_LONG_CONSTANT("PDO_PARAM_STR", (long)PDO_PARAM_STR, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_PARAM_LOB", (long)PDO_PARAM_LOB, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_PARAM_STMT", (long)PDO_PARAM_STMT, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PDO_PARAM_INPUT_OUTPUT", (long)PDO_PARAM_INPUT_OUTPUT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_FETCH_LAZY", (long)PDO_FETCH_LAZY, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_FETCH_ASSOC",(long)PDO_FETCH_ASSOC, CONST_CS|CONST_PERSISTENT); diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index b88c43ee06..fe0ea33cd0 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -214,7 +214,7 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s } } - if (param->param_type == PDO_PARAM_STR && param->max_value_len <= 0) { + if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_STR && param->max_value_len <= 0) { convert_to_string(param->parameter); } @@ -379,7 +379,7 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno TSRMLS_DC stmt->methods->get_col(stmt, colno, &value, &value_len, &caller_frees TSRMLS_CC); - switch (col->param_type) { + switch (PDO_PARAM_TYPE(col->param_type)) { case PDO_PARAM_INT: if (value && value_len == sizeof(long)) { ZVAL_LONG(dest, *(long*)value); diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h index 4644ff8c63..e5c0a61012 100755 --- a/ext/pdo/php_pdo_driver.h +++ b/ext/pdo/php_pdo_driver.h @@ -58,9 +58,15 @@ enum pdo_param_type { PDO_PARAM_STMT, /* hierarchical result set */ /* get_col ptr should point to a zend_bool */ - PDO_PARAM_BOOL + PDO_PARAM_BOOL, + + + /* magic flag to denote a parameter as being input/output */ + PDO_PARAM_INPUT_OUTPUT = 0x80000000 }; +#define PDO_PARAM_TYPE(x) ((x) & ~PDO_PARAM_INPUT_OUTPUT) + enum pdo_fetch_type { PDO_FETCH_USE_DEFAULT, PDO_FETCH_LAZY, |
