summaryrefslogtreecommitdiff
path: root/ext/interbase/ibase_query.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/interbase/ibase_query.c')
-rw-r--r--ext/interbase/ibase_query.c178
1 files changed, 90 insertions, 88 deletions
diff --git a/ext/interbase/ibase_query.c b/ext/interbase/ibase_query.c
index 4914dcd596..1899e5aae1 100644
--- a/ext/interbase/ibase_query.c
+++ b/ext/interbase/ibase_query.c
@@ -134,7 +134,7 @@ static void _php_ibase_free_stmt_handle(ibase_db_link *link, isc_stmt_handle stm
}
/* }}} */
-static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_result(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_result *ib_result = (ibase_result *) rsrc->ptr;
@@ -180,7 +180,7 @@ static void _php_ibase_free_query(ibase_query *ib_query TSRMLS_DC) /* {{{ */
}
/* }}} */
-static void php_ibase_free_query_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void php_ibase_free_query_rsrc(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_query *ib_query = (ibase_query *)rsrc->ptr;
@@ -443,7 +443,7 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
if (dim < array->ar_desc.array_desc_dimensions) {
unsigned long slice_size = buf_size / dim_len;
unsigned short i;
- zval **subval = &val;
+ zval *subval = val;
if (Z_TYPE_P(val) == IS_ARRAY) {
zend_hash_internal_pointer_reset(Z_ARRVAL_P(val));
@@ -452,12 +452,12 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
for (i = 0; i < dim_len; ++i) {
if (Z_TYPE_P(val) == IS_ARRAY &&
- zend_hash_get_current_data(Z_ARRVAL_P(val), (void *) &subval) == FAILURE)
+ (subval = zend_hash_get_current_data(Z_ARRVAL_P(val))) == NULL)
{
- subval = &pnull_val;
+ subval = pnull_val;
}
- if (_php_ibase_bind_array(*subval, buf, slice_size, array, dim+1 TSRMLS_CC) == FAILURE)
+ if (_php_ibase_bind_array(subval, buf, slice_size, array, dim+1 TSRMLS_CC) == FAILURE)
{
return FAILURE;
}
@@ -634,14 +634,14 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
}
/* }}} */
-static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{ */
+static int _php_ibase_bind(XSQLDA *sqlda, zval *b_vars, BIND_BUF *buf, /* {{{ */
ibase_query *ib_query TSRMLS_DC)
{
int i, array_cnt = 0, rv = SUCCESS;
for (i = 0; i < sqlda->sqld; ++i) { /* bound vars */
- zval *b_var = *b_vars[i];
+ zval *b_var = &b_vars[i];
XSQLVAR *var = &sqlda->sqlvar[i];
var->sqlind = &buf[i].sqlind;
@@ -745,7 +745,7 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{
return FAILURE;
}
- if (_php_ibase_blob_add(&b_var, &ib_blob TSRMLS_CC) != SUCCESS) {
+ if (_php_ibase_blob_add(b_var, &ib_blob TSRMLS_CC) != SUCCESS) {
return FAILURE;
}
@@ -860,7 +860,7 @@ static void _php_ibase_alloc_xsqlda(XSQLDA *sqlda) /* {{{ */
/* }}} */
static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resultp, /* {{{ */
- ibase_query *ib_query, zval ***args)
+ ibase_query *ib_query, zval *args)
{
XSQLDA *in_sqlda = NULL, *out_sqlda = NULL;
BIND_BUF *bind_buf = NULL;
@@ -873,7 +873,7 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
RESET_ERRMSG;
for (i = 0; i < argc; ++i) {
- SEPARATE_ZVAL(args[i]);
+ SEPARATE_ZVAL(&args[i]);
}
switch (ib_query->statement_type) {
@@ -911,6 +911,7 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
(*l)->next = NULL;
ZEND_REGISTER_RESOURCE(return_value, trans, le_trans);
+ Z_ADDREF_P(return_value);
return SUCCESS;
@@ -926,7 +927,8 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
if (ib_query->trans->handle == NULL && ib_query->trans_res_id != 0) {
/* transaction was released by the query and was a registered resource,
so we have to release it */
- zend_list_delete(ib_query->trans_res_id);
+ zval *res = zend_hash_index_find(&EG(regular_list), ib_query->trans_res_id);
+ zend_list_delete(Z_RES_P(res));
}
RETVAL_TRUE;
@@ -1058,7 +1060,7 @@ _php_ibase_exec_error:
Execute a query */
PHP_FUNCTION(ibase_query)
{
- zval *zlink, *ztrans, ***bind_args = NULL;
+ zval *zlink, *ztrans, *bind_args = NULL;
char *query;
int bind_i, query_len, bind_num;
long trans_res_id = 0;
@@ -1078,20 +1080,20 @@ PHP_FUNCTION(ibase_query)
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 3 TSRMLS_CC, "rrs",
&zlink, &ztrans, &query, &query_len)) {
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link*, &zlink, -1, LE_LINK, le_link, le_plink);
- ZEND_FETCH_RESOURCE(trans, ibase_trans*, &ztrans, -1, LE_TRANS, le_trans);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link*, zlink, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE(trans, ibase_trans*, ztrans, -1, LE_TRANS, le_trans);
- trans_res_id = Z_LVAL_P(ztrans);
+ trans_res_id = Z_RES_P(ztrans)->handle;
bind_i = 3;
break;
}
case 2:
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 2 TSRMLS_CC, "rs",
&zlink, &query, &query_len)) {
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &zlink, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, zlink, &ib_link, &trans);
if (trans != NULL) {
- trans_res_id = Z_LVAL_P(zlink);
+ trans_res_id = Z_RES_P(zlink)->handle;
}
bind_i = 2;
break;
@@ -1130,8 +1132,8 @@ PHP_FUNCTION(ibase_query)
ib_link->event_head = NULL;
ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link);
- zend_list_addref(Z_LVAL_P(return_value));
- IBG(default_link) = Z_LVAL_P(return_value);
+ Z_ADDREF_P(return_value);
+ IBG(default_link) = Z_RES_P(return_value)->handle;
++IBG(num_links);
}
return;
@@ -1185,14 +1187,12 @@ PHP_FUNCTION(ibase_query)
ib_query.stmt = NULL; /* keep stmt when free query */
}
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
+ Z_ADDREF_P(return_value);
}
} while (0);
_php_ibase_free_query(&ib_query TSRMLS_CC);
- if (bind_args) {
- efree(bind_args);
- }
}
/* }}} */
@@ -1218,9 +1218,9 @@ PHP_FUNCTION(ibase_affected_rows)
trans = ib_link->tr_list->trans;
} else {
/* one id was passed, could be db or trans id */
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &arg, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, arg, &ib_link, &trans);
if (trans == NULL) {
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &arg, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, arg, -1, LE_LINK, le_link, le_plink);
if (ib_link->tr_list == NULL || ib_link->tr_list->trans == NULL) {
RETURN_FALSE;
@@ -1323,7 +1323,7 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, /* {{{
data = ((IBVARY *) data)->vary_string;
/* no break */
case SQL_TEXT:
- ZVAL_STRINGL(val,(char *) data,len,1);
+ ZVAL_STRINGL(val, (char*)data, len);
break;
case SQL_SHORT:
n = *(short *) data;
@@ -1365,7 +1365,7 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, /* {{{
} else {
l = slprintf(string_data, sizeof(string_data), "-0.%0*ld", -scale, -n % f);
}
- ZVAL_STRINGL(val,string_data,l,1);
+ ZVAL_STRINGL(val, string_data, l);
}
break;
case SQL_FLOAT:
@@ -1414,7 +1414,7 @@ format_date_time:
break;
}
#endif
- ZVAL_STRINGL(val,string_data,l,1);
+ ZVAL_STRINGL(val, string_data, l);
break;
}
} /* switch (type) */
@@ -1440,17 +1440,16 @@ static int _php_ibase_arr_zval(zval *ar_zval, char *data, unsigned long data_siz
array_init(ar_zval);
for (i = 0; i < dim_len; ++i) {
- zval *slice_zval;
- ALLOC_INIT_ZVAL(slice_zval);
+ zval slice_zval;
/* recursion here */
- if (FAILURE == _php_ibase_arr_zval(slice_zval, data, slice_size, ib_array, dim + 1,
+ if (FAILURE == _php_ibase_arr_zval(&slice_zval, data, slice_size, ib_array, dim + 1,
flag TSRMLS_CC)) {
return FAILURE;
}
data += slice_size;
- add_index_zval(ar_zval,l_bound+i,slice_zval);
+ add_index_zval(ar_zval, l_bound + i, &slice_zval);
}
} else { /* data at last */
@@ -1483,7 +1482,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
if (ib_result->out_sqlda == NULL || !ib_result->has_more_rows) {
RETURN_FALSE;
@@ -1522,8 +1521,8 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
i = 1;
base = alias;
- while (SUCCESS == zend_symtable_find(
- Z_ARRVAL_P(return_value),alias,strlen(alias)+1,&p)) {
+ while ((p = zend_symtable_str_find_ptr(
+ Z_ARRVAL_P(return_value), alias, strlen(alias))) != NULL) {
case '\0':
snprintf(alias = buf, sizeof(buf), "%s_%02d", base, i++);
@@ -1532,13 +1531,12 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
if (((var->sqltype & 1) == 0) || *var->sqlind != -1) {
- zval *result;
- ALLOC_INIT_ZVAL(result);
+ zval result;
switch (var->sqltype & ~1) {
default:
- _php_ibase_var_zval(result, var->sqldata, var->sqltype, var->sqllen,
+ _php_ibase_var_zval(&result, var->sqldata, var->sqltype, var->sqllen,
var->sqlscale, flag TSRMLS_CC);
break;
case SQL_BLOB:
@@ -1588,8 +1586,8 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
if (max_len == 0) {
- ZVAL_STRING(result, "", 1);
- } else if (SUCCESS != _php_ibase_blob_get(result, &blob_handle,
+ ZVAL_STRING(&result, "");
+ } else if (SUCCESS != _php_ibase_blob_get(&result, &blob_handle,
max_len TSRMLS_CC)) {
goto _php_ibase_fetch_error;
}
@@ -1600,8 +1598,11 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
} else { /* blob id only */
+ char *s;
ISC_QUAD bl_qd = *(ISC_QUAD *) var->sqldata;
- ZVAL_STRINGL(result,_php_ibase_quad_to_string(bl_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(bl_qd);
+ ZVAL_STRINGL(&result, s, BLOB_ID_LEN);
+ efree(s);
}
break;
case SQL_ARRAY:
@@ -1618,7 +1619,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
goto _php_ibase_fetch_error;
}
- if (FAILURE == _php_ibase_arr_zval(result, ar_data, ib_array->ar_size, ib_array,
+ if (FAILURE == _php_ibase_arr_zval(&result, ar_data, ib_array->ar_size, ib_array,
0, flag TSRMLS_CC)) {
efree(ar_data);
goto _php_ibase_fetch_error;
@@ -1626,20 +1627,21 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
efree(ar_data);
} else { /* blob id only */
+ char *s;
ISC_QUAD ar_qd = *(ISC_QUAD *) var->sqldata;
- ZVAL_STRINGL(result,_php_ibase_quad_to_string(ar_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(ar_qd);
+ ZVAL_STRINGL(&result, s, BLOB_ID_LEN);
}
break;
_php_ibase_fetch_error:
- zval_dtor(result);
- FREE_ZVAL(result);
+ zval_dtor(&result);
RETURN_FALSE;
} /* switch */
if (fetch_type & FETCH_ROW) {
- add_index_zval(return_value, i, result);
+ add_index_zval(return_value, i, &result);
} else {
- add_assoc_zval(return_value, alias, result);
+ add_assoc_zval(return_value, alias, &result);
}
} else {
if (fetch_type & FETCH_ROW) {
@@ -1675,7 +1677,7 @@ PHP_FUNCTION(ibase_fetch_object)
_php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FETCH_ARRAY);
if (Z_TYPE_P(return_value) == IS_ARRAY) {
- object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value));
+ convert_to_object(return_value);
}
}
/* }}} */
@@ -1696,7 +1698,7 @@ PHP_FUNCTION(ibase_name_result)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
if (isc_dsql_set_cursor_name(IB_STATUS, &ib_result->stmt, name_arg, 0)) {
_php_ibase_error(TSRMLS_C);
@@ -1720,8 +1722,8 @@ PHP_FUNCTION(ibase_free_result)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
- zend_list_delete(Z_RESVAL_P(result_arg));
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
+ zend_list_delete(Z_RES_P(result_arg));
RETURN_TRUE;
}
/* }}} */
@@ -1748,18 +1750,18 @@ PHP_FUNCTION(ibase_prepare)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &link_arg, &query, &query_len) == FAILURE) {
return;
}
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &link_arg, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, link_arg, &ib_link, &trans);
if (trans != NULL) {
- trans_res_id = Z_RESVAL_P(link_arg);
+ trans_res_id = Z_RES_P(link_arg)->handle;
}
} else {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrs", &link_arg, &trans_arg, &query, &query_len) == FAILURE) {
return;
}
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &link_arg, -1, LE_LINK, le_link, le_plink);
- ZEND_FETCH_RESOURCE(trans, ibase_trans *, &trans_arg, -1, LE_TRANS, le_trans);
- trans_res_id = Z_RESVAL_P(trans_arg);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE(trans, ibase_trans *, trans_arg, -1, LE_TRANS, le_trans);
+ trans_res_id = Z_RES_P(trans_arg)->handle;
}
if (FAILURE == _php_ibase_def_trans(ib_link, &trans TSRMLS_CC)) {
@@ -1773,6 +1775,7 @@ PHP_FUNCTION(ibase_prepare)
RETURN_FALSE;
}
ZEND_REGISTER_RESOURCE(return_value, ib_query, le_query);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -1780,24 +1783,23 @@ PHP_FUNCTION(ibase_prepare)
Execute a previously prepared query */
PHP_FUNCTION(ibase_execute)
{
- zval *query, ***args = NULL;
+ zval *query, *args = NULL;
ibase_query *ib_query;
ibase_result *result = NULL;
- ALLOCA_FLAG(use_heap)
+ int bind_n = 0;
RESET_ERRMSG;
RETVAL_FALSE;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() ? 1 : 0 TSRMLS_CC, "r", &query)) {
+ if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r*", &query, &args, &bind_n)) {
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &query, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query, -1, LE_QUERY, le_query);
do {
- int bind_n = ZEND_NUM_ARGS() - 1,
- expected_n = ib_query->in_sqlda ? ib_query->in_sqlda->sqld : 0;
+ int expected_n = ib_query->in_sqlda ? ib_query->in_sqlda->sqld : 0;
if (bind_n != expected_n) {
php_error_docref(NULL TSRMLS_CC, (bind_n < expected_n) ? E_WARNING : E_NOTICE,
@@ -1808,16 +1810,11 @@ PHP_FUNCTION(ibase_execute)
}
}
- /* have variables to bind */
- args = (zval ***) do_alloca((expected_n + 1) * sizeof(zval **), use_heap);
-
- if (FAILURE == zend_get_parameters_array_ex((expected_n + 1), args)) {
- break;
- }
-
/* Have we used this cursor before and it's still open (exec proc has no cursor) ? */
if (ib_query->result_res_id != 0
&& ib_query->statement_type != isc_info_sql_stmt_exec_procedure) {
+ zval *res;
+
IBDEBUG("Implicitly closing a cursor");
if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_close)) {
@@ -1825,32 +1822,37 @@ PHP_FUNCTION(ibase_execute)
break;
}
/* invalidate previous results returned by this query (not necessary for exec proc) */
- zend_list_delete(ib_query->result_res_id);
+ res = zend_hash_index_find(&EG(regular_list), ib_query->result_res_id);
+ if (res) {
+ zend_list_delete(Z_RES_P(res));
+ }
}
if (FAILURE == _php_ibase_exec(INTERNAL_FUNCTION_PARAM_PASSTHRU, &result, ib_query,
- &args[1])) {
+ args)) {
break;
}
/* free the query if trans handle was released */
if (ib_query->trans->handle == NULL) {
- zend_list_delete(Z_LVAL_P(query));
+ zend_list_delete(Z_RES_P(query));
}
if (result != NULL) {
+ zval *ret;
+
result->type = EXECUTE_RESULT;
if (ib_query->statement_type == isc_info_sql_stmt_exec_procedure) {
result->stmt = NULL;
}
- ib_query->result_res_id = zend_list_insert(result, le_result TSRMLS_CC);
- RETVAL_RESOURCE(ib_query->result_res_id);
+
+ ret = zend_list_insert(result, le_result TSRMLS_CC);
+ ib_query->result_res_id = Z_RES_HANDLE_P(ret);
+ ZVAL_COPY_VALUE(return_value, ret);
+ Z_ADDREF_P(return_value);
+ Z_ADDREF_P(return_value);
}
} while (0);
-
- if (args) {
- free_alloca(args, use_heap);
- }
}
/* }}} */
@@ -1867,8 +1869,8 @@ PHP_FUNCTION(ibase_free_query)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &query_arg, -1, LE_QUERY, le_query);
- zend_list_delete(Z_RESVAL_P(query_arg));
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query_arg, -1, LE_QUERY, le_query);
+ zend_list_close(Z_RES_P(query_arg));
RETURN_TRUE;
}
/* }}} */
@@ -1887,17 +1889,17 @@ PHP_FUNCTION(ibase_num_fields)
return;
}
- zend_list_find(Z_RESVAL_P(result), &type);
+ type = Z_RES_P(result)->type;
if (type == le_query) {
ibase_query *ib_query;
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result, -1, LE_QUERY, le_query);
sqlda = ib_query->out_sqlda;
} else {
ibase_result *ib_result;
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result, -1, LE_RESULT, le_result);
sqlda = ib_result->out_sqlda;
}
@@ -2011,17 +2013,17 @@ PHP_FUNCTION(ibase_field_info)
return;
}
- zend_list_find(Z_RESVAL_P(result_arg), &type);
+ type = Z_RES_P(result_arg)->type;
if (type == le_query) {
ibase_query *ib_query;
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result_arg, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result_arg, -1, LE_QUERY, le_query);
sqlda = ib_query->out_sqlda;
} else {
ibase_result *ib_result;
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
sqlda = ib_result->out_sqlda;
}
@@ -2050,7 +2052,7 @@ PHP_FUNCTION(ibase_num_params)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result, -1, LE_QUERY, le_query);
if (ib_query->in_sqlda == NULL) {
RETURN_LONG(0);
@@ -2074,7 +2076,7 @@ PHP_FUNCTION(ibase_param_info)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result_arg, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result_arg, -1, LE_QUERY, le_query);
if (ib_query->in_sqlda == NULL) {
RETURN_FALSE;