tony2001 Tue Jan 31 18:36:59 2006 UTC Modified files: /php-src/ext/oci8 oci8_interface.c oci8_statement.c php_oci8_int.h Log: fix #36235 (ocicolumnname delivers empty results before a succesfull ocifetch) http://cvs.php.net/viewcvs.cgi/php-src/ext/oci8/oci8_interface.c?r1=1.10&r2=1.11&diff_format=u Index: php-src/ext/oci8/oci8_interface.c diff -u php-src/ext/oci8/oci8_interface.c:1.10 php-src/ext/oci8/oci8_interface.c:1.11 --- php-src/ext/oci8/oci8_interface.c:1.10 Thu Jan 5 13:40:10 2006 +++ php-src/ext/oci8/oci8_interface.c Tue Jan 31 18:36:59 2006 @@ -25,7 +25,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: oci8_interface.c,v 1.10 2006/01/05 13:40:10 tony2001 Exp $ */ +/* $Id: oci8_interface.c,v 1.11 2006/01/31 18:36:59 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1102,7 +1102,7 @@ { php_oci_out_column *column; - if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU) ) ) { + if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0) ) ) { RETURN_STRINGL(column->name, column->name_len, 1); } RETURN_FALSE; @@ -1115,7 +1115,7 @@ { php_oci_out_column *column; - if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU) ) ) { + if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0) ) ) { /* Handle data type of LONG */ if (column->data_type == SQLT_LNG){ RETURN_LONG(column->storage_size4); @@ -1132,7 +1132,7 @@ { php_oci_out_column *column; - if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU) ) ) { + if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0) ) ) { RETURN_LONG(column->scale); } RETURN_FALSE; @@ -1145,7 +1145,7 @@ { php_oci_out_column *column; - if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU) ) ) { + if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0) ) ) { RETURN_LONG(column->precision); } RETURN_FALSE; @@ -1158,7 +1158,7 @@ { php_oci_out_column *column; - column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU); + column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); if (!column) { RETURN_FALSE; @@ -1223,7 +1223,7 @@ { php_oci_out_column *column; - column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU); + column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); if (column) { RETURN_LONG(column->data_type); } @@ -1237,7 +1237,7 @@ { php_oci_out_column *column; - if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU) ) ) { + if ( ( column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0) ) ) { if (column->indicator == -1) { RETURN_TRUE; } @@ -1734,7 +1734,7 @@ { php_oci_out_column *column; - column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU); + column = php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); if(column) { php_oci_column_to_zval(column, return_value, 0 TSRMLS_CC); } http://cvs.php.net/viewcvs.cgi/php-src/ext/oci8/oci8_statement.c?r1=1.14&r2=1.15&diff_format=u Index: php-src/ext/oci8/oci8_statement.c diff -u php-src/ext/oci8/oci8_statement.c:1.14 php-src/ext/oci8/oci8_statement.c:1.15 --- php-src/ext/oci8/oci8_statement.c:1.14 Fri Jan 20 11:01:36 2006 +++ php-src/ext/oci8/oci8_statement.c Tue Jan 31 18:36:59 2006 @@ -25,7 +25,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: oci8_statement.c,v 1.14 2006/01/20 11:01:36 tony2001 Exp $ */ +/* $Id: oci8_statement.c,v 1.15 2006/01/31 18:36:59 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H @@ -1004,7 +1004,7 @@ /* {{{ php_oci_statement_get_column_helper() Helper function to get column by name and index */ -php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS) +php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS, int need_data) { zval *z_statement, *column_index; php_oci_statement *statement; @@ -1020,7 +1020,7 @@ return NULL; } - if (!statement->has_data) { + if (need_data && !statement->has_data) { return NULL; } http://cvs.php.net/viewcvs.cgi/php-src/ext/oci8/php_oci8_int.h?r1=1.13&r2=1.14&diff_format=u Index: php-src/ext/oci8/php_oci8_int.h diff -u php-src/ext/oci8/php_oci8_int.h:1.13 php-src/ext/oci8/php_oci8_int.h:1.14 --- php-src/ext/oci8/php_oci8_int.h:1.13 Thu Jan 5 13:40:10 2006 +++ php-src/ext/oci8/php_oci8_int.h Tue Jan 31 18:36:59 2006 @@ -25,7 +25,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_oci8_int.h,v 1.13 2006/01/05 13:40:10 tony2001 Exp $ */ +/* $Id: php_oci8_int.h,v 1.14 2006/01/31 18:36:59 tony2001 Exp $ */ #if HAVE_OCI8 # ifndef PHP_OCI8_INT_H @@ -358,7 +358,7 @@ int php_oci_bind_by_name(php_oci_statement *, char *, int, zval*, long, long TSRMLS_DC); sb4 php_oci_bind_in_callback(dvoid *, OCIBind *, ub4, ub4, dvoid **, ub4 *, ub1 *, dvoid **); sb4 php_oci_bind_out_callback(dvoid *, OCIBind *, ub4, ub4, dvoid **, ub4 **, ub1 *, dvoid **, ub2 **); -php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS); +php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS, int need_data); int php_oci_statement_get_type(php_oci_statement *, ub2 * TSRMLS_DC); int php_oci_statement_get_numrows(php_oci_statement *, ub4 * TSRMLS_DC);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php