diff options
Diffstat (limited to 'ext/odbc')
| -rw-r--r-- | ext/odbc/odbc.stub.php | 231 | ||||
| -rw-r--r-- | ext/odbc/odbc_arginfo.h | 242 | ||||
| -rw-r--r-- | ext/odbc/php_odbc.c | 338 | ||||
| -rw-r--r-- | ext/odbc/php_odbc.h | 2 | ||||
| -rw-r--r-- | ext/odbc/php_odbc_includes.h | 2 | ||||
| -rw-r--r-- | ext/odbc/tests/bug78473.phpt | 8 | ||||
| -rw-r--r-- | ext/odbc/tests/odbc_data_source_001.phpt | 4 | ||||
| -rw-r--r-- | ext/odbc/tests/odbc_free_result_001.phpt | 34 |
8 files changed, 538 insertions, 323 deletions
diff --git a/ext/odbc/odbc.stub.php b/ext/odbc/odbc.stub.php new file mode 100644 index 0000000000..835ea10674 --- /dev/null +++ b/ext/odbc/odbc.stub.php @@ -0,0 +1,231 @@ +<?php + +function odbc_close_all(): void {} + +/** @param resource $result_id */ +function odbc_binmode($result_id, int $mode): bool {} + +/** @param resource $result_id */ +function odbc_longreadlen($result_id, int $length): bool {} + +/** + * @param resource $result_id + * @return resource|false + */ +function odbc_prepare($connection_id, string $query) {} + +/** @param resource $result_id */ +function odbc_execute($result_id, array $parameters_array = UNKNOWN): bool {} + +/** + * @param resource $result_id + * @return string|false + */ +function odbc_cursor($result_id) {} + +#ifdef HAVE_SQLDATASOURCES +/** + * @param resource $connection_id + * @return array|false + */ +function odbc_data_source($connection_id, int $fetch_type) {} +#endif + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_exec($connection_id, string $query, int $flags = UNKNOWN) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_do($connection_id, string $query, int $flags = UNKNOWN) {} + +#ifdef PHP_ODBC_HAVE_FETCH_HASH +/** + * @param resource $result + * @return stdClass|false + */ +function odbc_fetch_object($result, int $rownumber = -1) {} + +/** + * @param resource $result + * @return array|false + */ +function odbc_fetch_array($result, int $rownumber = -1) {} +#endif + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_fetch_into($result_id, &$result_array, int $rownumber = 0) {} + +/** @param resource $result_id */ +function odbc_fetch_row($result_id, int $row_number = UNKNOWN): bool {} + +/** + * @param resource $result_id + * @param string|int $field + * @return string|bool|null + */ +function odbc_result($result_id, $field) {} + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_result_all($result_id, string $format = '') {} + +/** @param resource $result_id */ +function odbc_free_result($result_id): bool {} + +/** @return resource|false */ +function odbc_connect(string $dsn, string $user, string $password, int $cursor_option = SQL_CUR_USE_DRIVER) {} + +/** @return resource|false */ +function odbc_pconnect(string $dsn, string $user, string $password, int $cursor_option = SQL_CUR_USE_DRIVER) {} + +/** @param resource $connection_id */ +function odbc_close($connection_id): void {} + +/** @param resource $result_id */ +function odbc_num_rows($result_id): int {} + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) +/** @param resource $result_id */ +function odbc_next_result($result_id): bool {} +#endif + +/** @param resource $result_id */ +function odbc_num_fields($result_id): int {} + +/** + * @param resource $result_id + * @return string|false + */ +function odbc_field_name($result_id, int $field_number) {} + +/** + * @param resource $result_id + * @return string|false + */ +function odbc_field_type($result_id, int $field_number) {} + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_field_len($result_id, int $field_number) {} + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_field_precision($result_id, int $field_number) {} + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_field_scale($result_id, int $field_number) {} + +/** + * @param resource $result_id + * @return int|false + */ +function odbc_field_num($result_id, string $field_name) {} + +/** + * @param resource $connection_id + * @return int|bool + */ +function odbc_autocommit($connection_id, int $onoff = 0) {} + +/** @param resource $connection_id */ +function odbc_commit($connection_id): bool {} + +/** @param resource $connection_id */ +function odbc_rollback($connection_id): bool {} + +/** @param resource $connection_id */ +function odbc_error($connection_id = UNKNOWN): string {} + +/** @param resource $connection_id */ +function odbc_errormsg($connection_id = UNKNOWN): string {} + +/** @param resource $conn_id */ +function odbc_setoption($conn_id, int $which, int $option, int $value): bool {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_tables($connection_id, ?string $qualfier = null, string $owner = UNKNOWN, string $name = UNKNOWN, string $table_types = UNKNOWN) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_columns($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $table_name = UNKNOWN, string $column_name = UNKNOWN) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_gettypeinfo($connection_id, int $data_type = 0) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_primarykeys($connection_id, ?string $qualifier, string $owner, string $table) {} + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35) +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_procedurecolumns($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $proc = UNKNOWN, string $column = UNKNOWN) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_procedures($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $name = UNKNOWN) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_foreignkeys($connection_id, ?string $pk_qualifier, string $pk_owner, string $pk_table, string $fk_qualifier, string $fk_owner, string $fk_table) {} +#endif + +/** + * @see https://bugs.php.net/bug.php?id=78470 + * @param resource $connection_id + * @return resource|false + */ +function odbc_specialcolumns($connection_id, int $type, ?string $qualifier, string $owner, string $table, int $scope) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_statistics($connection_id, ?string $qualfier, string $owner, string $name, int $unique, int $accuracy) {} + +#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35) +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_tableprivileges($connection_id, ?string $qualifier, string $owner, string $name) {} + +/** + * @param resource $connection_id + * @return resource|false + */ +function odbc_columnprivileges($connection_id, ?string $catalog, string $schema, string $table, string $column) {} +#endif diff --git a/ext/odbc/odbc_arginfo.h b/ext/odbc/odbc_arginfo.h new file mode 100644 index 0000000000..cac9518e84 --- /dev/null +++ b/ext/odbc/odbc_arginfo.h @@ -0,0 +1,242 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_binmode, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_longreadlen, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_prepare, 0, 0, 2) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_execute, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, parameters_array, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_cursor, 0, 0, 1) + ZEND_ARG_INFO(0, result_id) +ZEND_END_ARG_INFO() + +#if defined(HAVE_SQLDATASOURCES) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_data_source, 0, 0, 2) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, fetch_type, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_exec, 0, 0, 2) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_odbc_do arginfo_odbc_exec + +#if defined(PHP_ODBC_HAVE_FETCH_HASH) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_object, 0, 0, 1) + ZEND_ARG_INFO(0, result) + ZEND_ARG_TYPE_INFO(0, rownumber, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(PHP_ODBC_HAVE_FETCH_HASH) +#define arginfo_odbc_fetch_array arginfo_odbc_fetch_object +#endif + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_into, 0, 0, 2) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_INFO(1, result_array) + ZEND_ARG_TYPE_INFO(0, rownumber, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_fetch_row, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, row_number, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_result, 0, 0, 2) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_INFO(0, field) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_result_all, 0, 0, 1) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_free_result, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_connect, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, cursor_option, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_odbc_pconnect arginfo_odbc_connect + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close, 0, 1, IS_VOID, 0) + ZEND_ARG_INFO(0, connection_id) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_num_rows, 0, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, result_id) +ZEND_END_ARG_INFO() + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_next_result, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, result_id) +ZEND_END_ARG_INFO() +#endif + +#define arginfo_odbc_num_fields arginfo_odbc_num_rows + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_name, 0, 0, 2) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, field_number, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_odbc_field_type arginfo_odbc_field_name + +#define arginfo_odbc_field_len arginfo_odbc_field_name + +#define arginfo_odbc_field_precision arginfo_odbc_field_name + +#define arginfo_odbc_field_scale arginfo_odbc_field_name + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_num, 0, 0, 2) + ZEND_ARG_INFO(0, result_id) + ZEND_ARG_TYPE_INFO(0, field_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_autocommit, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, onoff, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_commit, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_id) +ZEND_END_ARG_INFO() + +#define arginfo_odbc_rollback arginfo_odbc_commit + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_error, 0, 0, IS_STRING, 0) + ZEND_ARG_INFO(0, connection_id) +ZEND_END_ARG_INFO() + +#define arginfo_odbc_errormsg arginfo_odbc_error + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_setoption, 0, 4, _IS_BOOL, 0) + ZEND_ARG_INFO(0, conn_id) + ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tables, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualfier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, table_types, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columns, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, column_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_gettypeinfo, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, data_type, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_primarykeys, 0, 0, 4) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedurecolumns, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, proc, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedures, 0, 0, 1) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_foreignkeys, 0, 0, 7) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, pk_qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, pk_owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, pk_table, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, fk_qualifier, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, fk_owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, fk_table, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 6) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, scope, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_statistics, 0, 0, 6) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualfier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, unique, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, accuracy, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tableprivileges, 0, 0, 4) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35) +ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columnprivileges, 0, 0, 5) + ZEND_ARG_INFO(0, connection_id) + ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1) + ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 19fce8d0fd..071b36c817 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -34,6 +32,7 @@ #include "php_odbc.h" #include "php_odbc_includes.h" #include "php_globals.h" +#include "odbc_arginfo.h" #if HAVE_UODBC @@ -64,261 +63,6 @@ static int le_result, le_conn, le_pconn; #define SAFE_SQL_NTS(n) ((SQLSMALLINT) ((n)?(SQL_NTS):0)) -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO(arginfo_odbc_close_all, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_binmode, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_longreadlen, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_prepare, 0, 0, 2) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, query) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_execute, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, parameters_array) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_cursor, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) -ZEND_END_ARG_INFO() - -#ifdef HAVE_SQLDATASOURCES -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_data_source, 0, 0, 2) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, fetch_type) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_exec, 0, 0, 2) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, query) - ZEND_ARG_INFO(0, flags) -ZEND_END_ARG_INFO() - -#ifdef PHP_ODBC_HAVE_FETCH_HASH -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_object, 0, 0, 1) - ZEND_ARG_INFO(0, result) - ZEND_ARG_INFO(0, rownumber) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_array, 0, 0, 1) - ZEND_ARG_INFO(0, result) - ZEND_ARG_INFO(0, rownumber) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_into, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(1, result_array) - ZEND_ARG_INFO(0, rownumber) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_fetch_row, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, row_number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_result, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_result_all, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, format) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_free_result, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_connect, 0, 0, 3) - ZEND_ARG_INFO(0, dsn) - ZEND_ARG_INFO(0, user) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, cursor_option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_pconnect, 0, 0, 3) - ZEND_ARG_INFO(0, dsn) - ZEND_ARG_INFO(0, user) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, cursor_option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_close, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_num_rows, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) -ZEND_END_ARG_INFO() - -#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_next_result, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_num_fields, 0, 0, 1) - ZEND_ARG_INFO(0, result_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_name, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field_number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_type, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field_number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_len, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field_number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_scale, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field_number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_field_num, 0, 0, 2) - ZEND_ARG_INFO(0, result_id) - ZEND_ARG_INFO(0, field_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_autocommit, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, onoff) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_commit, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_rollback, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_error, 0, 0, 0) - ZEND_ARG_INFO(0, connection_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_errormsg, 0, 0, 0) - ZEND_ARG_INFO(0, connection_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_setoption, 0, 0, 4) - ZEND_ARG_INFO(0, conn_id) - ZEND_ARG_INFO(0, which) - ZEND_ARG_INFO(0, option) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tables, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, name) - ZEND_ARG_INFO(0, table_types) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columns, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, table_name) - ZEND_ARG_INFO(0, column_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_gettypeinfo, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, data_type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_primarykeys, 0, 0, 4) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, table) -ZEND_END_ARG_INFO() - -#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35) -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedurecolumns, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, proc) - ZEND_ARG_INFO(0, column) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedures, 0, 0, 1) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_foreignkeys, 0, 0, 7) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, pk_qualifier) - ZEND_ARG_INFO(0, pk_owner) - ZEND_ARG_INFO(0, pk_table) - ZEND_ARG_INFO(0, fk_qualifier) - ZEND_ARG_INFO(0, fk_owner) - ZEND_ARG_INFO(0, fk_table) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 7) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, type) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, table) - ZEND_ARG_INFO(0, scope) - ZEND_ARG_INFO(0, nullable) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_statistics, 0, 0, 6) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, name) - ZEND_ARG_INFO(0, unique) - ZEND_ARG_INFO(0, accuracy) -ZEND_END_ARG_INFO() - -#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35) -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tableprivileges, 0, 0, 4) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, qualifier) - ZEND_ARG_INFO(0, owner) - ZEND_ARG_INFO(0, name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columnprivileges, 0, 0, 5) - ZEND_ARG_INFO(0, connection_id) - ZEND_ARG_INFO(0, catalog) - ZEND_ARG_INFO(0, schema) - ZEND_ARG_INFO(0, table) - ZEND_ARG_INFO(0, column) -ZEND_END_ARG_INFO() -#endif -/* }}} */ - /* {{{ odbc_functions[] */ static const zend_function_entry odbc_functions[] = { @@ -375,8 +119,8 @@ static const zend_function_entry odbc_functions[] = { PHP_FE(odbc_procedures, arginfo_odbc_procedures) PHP_FE(odbc_procedurecolumns, arginfo_odbc_procedurecolumns) #endif - PHP_FALIAS(odbc_do, odbc_exec, arginfo_odbc_exec) - PHP_FALIAS(odbc_field_precision, odbc_field_len, arginfo_odbc_field_len) + PHP_FALIAS(odbc_do, odbc_exec, arginfo_odbc_do) + PHP_FALIAS(odbc_field_precision, odbc_field_len, arginfo_odbc_field_precision) PHP_FE_END }; /* }}} */ @@ -921,7 +665,7 @@ void php_odbc_fetch_attribs(INTERNAL_FUNCTION_PARAMETERS, int mode) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (mode) { @@ -1059,7 +803,7 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } rc = SQLTransact(conn->henv, conn->hdbc, (SQLUSMALLINT)((type)?SQL_COMMIT:SQL_ROLLBACK)); @@ -1106,7 +850,7 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -1201,7 +945,7 @@ PHP_FUNCTION(odbc_prepare) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -1308,7 +1052,7 @@ PHP_FUNCTION(odbc_execute) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } /* XXX check for already bound parameters*/ @@ -1514,7 +1258,7 @@ PHP_FUNCTION(odbc_cursor) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } rc = SQLGetInfo(result->conn_ptr->hdbc,SQL_MAX_CURSOR_NAME_LEN, (void *)&max_len,sizeof(max_len),&len); @@ -1580,7 +1324,7 @@ PHP_FUNCTION(odbc_data_source) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(zv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } /* now we have the "connection" lets call the DataSource object */ @@ -1638,7 +1382,7 @@ PHP_FUNCTION(odbc_exec) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -1734,7 +1478,7 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type) #endif if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -1886,7 +1630,7 @@ PHP_FUNCTION(odbc_fetch_into) #endif /* HAVE_SQL_EXTENDED_FETCH */ if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -1992,7 +1736,7 @@ PHP_FUNCTION(solid_fetch_prev) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { php_error_docref(NULL, E_WARNING, "No tuples available at this result index"); @@ -2034,7 +1778,7 @@ PHP_FUNCTION(odbc_fetch_row) rownum = pv_row; if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -2100,7 +1844,7 @@ PHP_FUNCTION(odbc_result) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if ((result->numcols == 0)) { @@ -2279,7 +2023,7 @@ PHP_FUNCTION(odbc_result_all) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -2396,7 +2140,7 @@ PHP_FUNCTION(odbc_free_result) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->values) { @@ -2695,7 +2439,7 @@ PHP_FUNCTION(odbc_close) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } if (Z_RES_P(pv_conn)->type == le_pconn) { @@ -2732,7 +2476,7 @@ PHP_FUNCTION(odbc_num_rows) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } SQLRowCount(result->stmt, &rows); @@ -2754,7 +2498,7 @@ PHP_FUNCTION(odbc_next_result) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->values) { @@ -2805,7 +2549,7 @@ PHP_FUNCTION(odbc_num_fields) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } RETURN_LONG(result->numcols); @@ -2825,7 +2569,7 @@ PHP_FUNCTION(odbc_field_name) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -2862,7 +2606,7 @@ PHP_FUNCTION(odbc_field_type) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -2881,7 +2625,7 @@ PHP_FUNCTION(odbc_field_type) } PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, 31, &tmplen, NULL); - RETURN_STRING(tmp) + RETURN_STRING(tmp); } /* }}} */ @@ -2915,7 +2659,7 @@ PHP_FUNCTION(odbc_field_num) } if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_res), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } if (result->numcols == 0) { @@ -2952,7 +2696,7 @@ PHP_FUNCTION(odbc_autocommit) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } if (ZEND_NUM_ARGS() > 1) { @@ -3004,7 +2748,7 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode) if (ZEND_NUM_ARGS() == 1) { if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_handle), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } if (mode == 0) { ret = conn->laststate; @@ -3062,7 +2806,7 @@ PHP_FUNCTION(odbc_setoption) switch (pv_which) { case 1: /* SQLSetConnectOption */ if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_handle), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } if (conn->persistent) { @@ -3077,7 +2821,7 @@ PHP_FUNCTION(odbc_setoption) break; case 2: /* SQLSetStmtOption */ if ((result = (odbc_result *)zend_fetch_resource(Z_RES_P(pv_handle), "ODBC result", le_result)) == NULL) { - RETURN_FALSE; + return; } rc = SQLSetStmtOption(result->stmt, (unsigned short) pv_opt, pv_val); @@ -3118,7 +2862,7 @@ PHP_FUNCTION(odbc_tables) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3187,7 +2931,7 @@ PHP_FUNCTION(odbc_columns) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3259,7 +3003,7 @@ PHP_FUNCTION(odbc_columnprivileges) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3337,7 +3081,7 @@ PHP_FUNCTION(odbc_foreignkeys) #endif if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3405,7 +3149,7 @@ PHP_FUNCTION(odbc_gettypeinfo) data_type = (SQLSMALLINT) pv_data_type; if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3464,7 +3208,7 @@ PHP_FUNCTION(odbc_primarykeys) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3532,7 +3276,7 @@ PHP_FUNCTION(odbc_procedurecolumns) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3601,7 +3345,7 @@ PHP_FUNCTION(odbc_procedures) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3671,7 +3415,7 @@ PHP_FUNCTION(odbc_specialcolumns) nullable = (SQLUSMALLINT) vnullable; if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3742,7 +3486,7 @@ PHP_FUNCTION(odbc_statistics) reserved = (SQLUSMALLINT) vreserved; if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); @@ -3807,7 +3551,7 @@ PHP_FUNCTION(odbc_tableprivileges) } if (!(conn = (odbc_connection *)zend_fetch_resource2(Z_RES_P(pv_conn), "ODBC-Link", le_conn, le_pconn))) { - RETURN_FALSE; + return; } result = (odbc_result *)ecalloc(1, sizeof(odbc_result)); diff --git a/ext/odbc/php_odbc.h b/ext/odbc/php_odbc.h index 351b31ea40..500c784de2 100644 --- a/ext/odbc/php_odbc.h +++ b/ext/odbc/php_odbc.h @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h index 858a28af68..5e2e83e7b2 100644 --- a/ext/odbc/php_odbc_includes.h +++ b/ext/odbc/php_odbc_includes.h @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | diff --git a/ext/odbc/tests/bug78473.phpt b/ext/odbc/tests/bug78473.phpt index fd73b6cc07..c595d51fad 100644 --- a/ext/odbc/tests/bug78473.phpt +++ b/ext/odbc/tests/bug78473.phpt @@ -6,9 +6,13 @@ if (!extension_loaded('odbc')) die('skip odbc extension not available'); ?> --FILE-- <?php -odbc_close(STDIN); +try { + odbc_close(STDIN); +} catch (TypeError $err) { + echo $err->getMessage(), PHP_EOL; +} var_dump(STDIN); ?> --EXPECTF-- -Warning: odbc_close(): supplied resource is not a valid ODBC-Link resource in %s on line %d +odbc_close(): supplied resource is not a valid ODBC-Link resource resource(%d) of type (stream) diff --git a/ext/odbc/tests/odbc_data_source_001.phpt b/ext/odbc/tests/odbc_data_source_001.phpt index 8f5767315a..fedbbc1b02 100644 --- a/ext/odbc/tests/odbc_data_source_001.phpt +++ b/ext/odbc/tests/odbc_data_source_001.phpt @@ -15,16 +15,12 @@ include 'config.inc'; $conn = odbc_connect($dsn, $user, $pass); var_dump(odbc_data_source($conn, NULL)); -var_dump(odbc_data_source($conn, '')); var_dump(odbc_data_source($conn, SQL_FETCH_FIRST)); ?> --EXPECTF-- Warning: odbc_data_source(): Invalid fetch type (0) in %s on line %d bool(false) - -Warning: odbc_data_source() expects parameter 2 to be int, string given in %s on line %d -NULL array(%d) { %a } diff --git a/ext/odbc/tests/odbc_free_result_001.phpt b/ext/odbc/tests/odbc_free_result_001.phpt index cdc421117d..223b3f0a4c 100644 --- a/ext/odbc/tests/odbc_free_result_001.phpt +++ b/ext/odbc/tests/odbc_free_result_001.phpt @@ -22,10 +22,21 @@ $res = odbc_exec($conn, 'SELECT * FROM FOO'); var_dump(odbc_fetch_row($res)); var_dump(odbc_result($res, 'test')); var_dump(odbc_free_result($res)); -var_dump(odbc_free_result($conn)); -var_dump(odbc_free_result(NULL)); -var_dump(odbc_fetch_row($res)); -var_dump(odbc_result($res, 'test')); +try { + var_dump(odbc_free_result($conn)); +} catch (TypeError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(odbc_fetch_row($res)); +} catch (TypeError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(odbc_result($res, 'test')); +} catch (TypeError $e) { + echo $e->getMessage(), "\n"; +} odbc_exec($conn, 'DROP TABLE FOO'); @@ -36,15 +47,6 @@ odbc_exec($conn, 'DROP DATABASE odbcTEST'); bool(true) string(1) "1" bool(true) - -Warning: odbc_free_result(): supplied resource is not a valid ODBC result resource in %s on line %d -bool(false) - -Warning: odbc_free_result() expects parameter 1 to be resource, null given in %s on line %d -NULL - -Warning: odbc_fetch_row(): supplied resource is not a valid ODBC result resource in %s on line %d -bool(false) - -Warning: odbc_result(): supplied resource is not a valid ODBC result resource in %s on line %d -bool(false) +odbc_free_result(): supplied resource is not a valid ODBC result resource +odbc_fetch_row(): supplied resource is not a valid ODBC result resource +odbc_result(): supplied resource is not a valid ODBC result resource |
