diff options
| author | Xinchen Hui <laruence@php.net> | 2014-05-07 11:00:36 +0800 | 
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2014-05-07 11:00:36 +0800 | 
| commit | 2d0c9690de4ffecda7049a03841212a96295adf1 (patch) | |
| tree | 9ad9d6d4b00194de42bce8246664cdc49ac881e6 /ext/pdo_mysql/mysql_statement.c | |
| parent | 4ecc52797650c882f3101edd7171007ac0d15ec7 (diff) | |
| download | php-git-2d0c9690de4ffecda7049a03841212a96295adf1.tar.gz | |
Refactor pdo_mysql(incompleted, some tests failed due to no mysqlnd)
Diffstat (limited to 'ext/pdo_mysql/mysql_statement.c')
| -rw-r--r-- | ext/pdo_mysql/mysql_statement.c | 56 | 
1 files changed, 28 insertions, 28 deletions
| diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 1830a46c13..e2b0c40a12 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -342,7 +342,9 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */  {  	pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;  	pdo_mysql_db_handle *H = S->H; +#if PDO_USE_MYSQLND  	long row_count; +#endif  	PDO_DBG_ENTER("pdo_mysql_stmt_next_rowset");  	PDO_DBG_INF_FMT("stmt=%p", S->stmt); @@ -493,7 +495,7 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_da  				b = (PDO_MYSQL_PARAM_BIND*)param->driver_data;  				*b->is_null = 0;  				if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_NULL || -						Z_TYPE_P(param->parameter) == IS_NULL) { +						Z_TYPE(param->parameter) == IS_NULL) {  					*b->is_null = 1;  					b->buffer_type = MYSQL_TYPE_STRING;  					b->buffer = NULL; @@ -508,14 +510,12 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_da  						PDO_DBG_RETURN(0);  					case PDO_PARAM_LOB:  						PDO_DBG_INF("PDO_PARAM_LOB"); -						if (Z_TYPE_P(param->parameter) == IS_RESOURCE) { +						if (Z_TYPE(param->parameter) == IS_RESOURCE) {  							php_stream *stm;  							php_stream_from_zval_no_verify(stm, ¶m->parameter);  							if (stm) {  								SEPARATE_ZVAL_IF_NOT_REF(¶m->parameter); -								Z_TYPE_P(param->parameter) = IS_STRING; -								Z_STRLEN_P(param->parameter) = php_stream_copy_to_mem(stm, -									&Z_STRVAL_P(param->parameter), PHP_STREAM_COPY_ALL, 0); +								ZVAL_STR(¶m->parameter, php_stream_copy_to_mem(stm, PHP_STREAM_COPY_ALL, 0));  							} else {  								pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource" TSRMLS_CC);  								return 0; @@ -529,20 +529,20 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_da  #if PDO_USE_MYSQLND  				/* Is it really correct to check the zval's type? - But well, that's what the old code below does, too */ -				PDO_DBG_INF_FMT("param->parameter->type=%d", Z_TYPE_P(param->parameter)); -				switch (Z_TYPE_P(param->parameter)) { +				PDO_DBG_INF_FMT("param->parameter->type=%d", Z_TYPE(param->parameter)); +				switch (Z_TYPE(param->parameter)) {  					case IS_STRING: -						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, MYSQL_TYPE_VAR_STRING); +						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, ¶m->parameter, MYSQL_TYPE_VAR_STRING);  						break;  					case IS_LONG:  #if SIZEOF_LONG==8 -						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, MYSQL_TYPE_LONGLONG); +						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, ¶m->parameter, MYSQL_TYPE_LONGLONG);  #elif SIZEOF_LONG==4 -						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, MYSQL_TYPE_LONG); +						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, ¶m->parameter, MYSQL_TYPE_LONG);  #endif /* SIZEOF_LONG */  						break;  					case IS_DOUBLE: -						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, MYSQL_TYPE_DOUBLE); +						mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, ¶m->parameter, MYSQL_TYPE_DOUBLE);  						break;  					default:  						PDO_DBG_RETURN(0); @@ -550,23 +550,23 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_da  				PDO_DBG_RETURN(1);  #else -				PDO_DBG_INF_FMT("param->parameter->type=%d", Z_TYPE_P(param->parameter)); -				switch (Z_TYPE_P(param->parameter)) { +				PDO_DBG_INF_FMT("param->parameter->type=%d", Z_TYPE(param->parameter)); +				switch (Z_TYPE(param->parameter)) {  					case IS_STRING:  						b->buffer_type = MYSQL_TYPE_STRING; -						b->buffer = Z_STRVAL_P(param->parameter); -						b->buffer_length = Z_STRLEN_P(param->parameter); -						*b->length = Z_STRLEN_P(param->parameter); +						b->buffer = Z_STRVAL(param->parameter); +						b->buffer_length = Z_STRLEN(param->parameter); +						*b->length = Z_STRLEN(param->parameter);  						PDO_DBG_RETURN(1);  					case IS_LONG:  						b->buffer_type = MYSQL_TYPE_LONG; -						b->buffer = &Z_LVAL_P(param->parameter); +						b->buffer = &Z_LVAL(param->parameter);  						PDO_DBG_RETURN(1);  					case IS_DOUBLE:  						b->buffer_type = MYSQL_TYPE_DOUBLE; -						b->buffer = &Z_DVAL_P(param->parameter); +						b->buffer = &Z_DVAL(param->parameter);  						PDO_DBG_RETURN(1);  					default: @@ -807,7 +807,7 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va  {  	pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;  	const MYSQL_FIELD *F; -	zval *flags; +	zval flags;  	char *str;  	PDO_DBG_ENTER("pdo_mysql_stmt_col_meta"); @@ -821,8 +821,7 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va  	}  	array_init(return_value); -	MAKE_STD_ZVAL(flags); -	array_init(flags); +	array_init(&flags);  	F = S->fields + colno; @@ -830,19 +829,19 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va  		add_assoc_string(return_value, "mysql:def", F->def);  	}  	if (IS_NOT_NULL(F->flags)) { -		add_next_index_string(flags, "not_null"); +		add_next_index_string(&flags, "not_null");  	}  	if (IS_PRI_KEY(F->flags)) { -		add_next_index_string(flags, "primary_key"); +		add_next_index_string(&flags, "primary_key");  	}  	if (F->flags & MULTIPLE_KEY_FLAG) { -		add_next_index_string(flags, "multiple_key"); +		add_next_index_string(&flags, "multiple_key");  	}  	if (F->flags & UNIQUE_KEY_FLAG) { -		add_next_index_string(flags, "unique_key"); +		add_next_index_string(&flags, "unique_key");  	}  	if (IS_BLOB(F->flags)) { -		add_next_index_string(flags, "blob"); +		add_next_index_string(&flags, "blob");  	}  	str = type_to_name_native(F->type);  	if (str) { @@ -868,8 +867,9 @@ static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_va  	}  #endif -	add_assoc_zval(return_value, "flags", flags); -	add_assoc_string(return_value, "table", (char *) (F->table?F->table:"")); +	add_assoc_zval(return_value, "flags", &flags); +	add_assoc_string(return_value, "table", (char *) (F->table?F->table : "")); +  	PDO_DBG_RETURN(SUCCESS);  } /* }}} */ | 
