Add ext/odbc stubs

This commit is contained in:
Christoph M. Becker 2019-08-28 16:07:47 +02:00
parent 6323c13e74
commit 0201a858d0
3 changed files with 476 additions and 257 deletions

231
ext/odbc/odbc.stub.php Normal file
View file

@ -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 = UNKNOWN, string $owner = UNKNOWN, string $name = UNKNOWN, string $table_types = UNKNOWN) {}
/**
* @param resource $connection_id
* @return resource|false
*/
function odbc_columns($connection_id, string $qualifier = UNKNOWN, 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 = UNKNOWN, string $owner = UNKNOWN, string $proc = UNKNOWN, string $column = UNKNOWN) {}
/**
* @param resource $connection_id
* @return resource|false
*/
function odbc_procedures($connection_id, string $qualifier = UNKNOWN, 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

242
ext/odbc/odbc_arginfo.h Normal file
View file

@ -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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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, 0)
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

View file

@ -34,6 +34,7 @@
#include "php_odbc.h"
#include "php_odbc_includes.h"
#include "php_globals.h"
#include "odbc_arginfo.h"
#if HAVE_UODBC
@ -64,261 +65,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 +121,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
};
/* }}} */