diff options
| author | Jens de Nies <j.de.nies@protonmail.com> | 2020-06-10 23:37:14 +0200 |
|---|---|---|
| committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-07-04 10:56:48 +0200 |
| commit | 58f51f8c75e1bfd7d3f766c3b8b438db869361fe (patch) | |
| tree | 455f5d994bfd13667ae8074cb16f0cda39cbfaf0 | |
| parent | 49396f817a07c791f3bdfa4d301072425e0e9363 (diff) | |
| download | php-git-58f51f8c75e1bfd7d3f766c3b8b438db869361fe.tar.gz | |
Added stubs for ext/oci8
Closes GH-5701
| -rw-r--r-- | ext/oci8/oci8.c | 765 | ||||
| -rw-r--r-- | ext/oci8/oci8.stub.php | 815 | ||||
| -rw-r--r-- | ext/oci8/oci8_arginfo.h | 800 | ||||
| -rw-r--r-- | ext/oci8/oci8_interface.c | 37 | ||||
| -rw-r--r-- | ext/oci8/oci8_statement.c | 19 |
5 files changed, 1652 insertions, 784 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 89aafde7ee..3a43f837ae 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -122,772 +122,15 @@ ZEND_GET_MODULE(oci8) #endif /* COMPILE_DL */ /* }}} */ -/* {{{ Function arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_define_by_name, 0, 0, 3) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_name) - ZEND_ARG_INFO(1, variable) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_bind_by_name, 0, 0, 3) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_name) - ZEND_ARG_INFO(1, variable) - ZEND_ARG_INFO(0, maximum_length) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_bind_array_by_name, 0, 0, 4) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_name) - ZEND_ARG_INFO(1, variable) - ZEND_ARG_INFO(0, maximum_array_length) - ZEND_ARG_INFO(0, maximum_item_length) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_free_descriptor, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_save, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, data) - ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_import, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_load, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_read, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_eof, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_tell, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_rewind, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_seek, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, whence) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_size, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_write, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_append, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor_to) - ZEND_ARG_INFO(0, lob_descriptor_from) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_truncate, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_erase, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_flush, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, flag) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ocisetbufferinglob, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ocigetbufferinglob, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_copy, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor_to) - ZEND_ARG_INFO(0, lob_descriptor_from) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_is_equal, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, lob_descriptor) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_export, 0, 0, 2) - ZEND_ARG_INFO(0, lob_descriptor) - ZEND_ARG_INFO(0, filename) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_descriptor, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_rollback, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_commit, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_name, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_size, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_scale, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_precision, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_type, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_type_raw, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_is_null, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_internal_debug, 0, 0, 1) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_execute, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_cancel, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ocifetchinto, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(1, result) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch_all, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(1, output) - ZEND_ARG_INFO(0, skip) - ZEND_ARG_INFO(0, maximum_rows) - ZEND_ARG_INFO(0, flags) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch_object, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch_row, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch_assoc, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_fetch_array, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_free_statement, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_close, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_connect, 0, 0, 2) - ZEND_ARG_INFO(0, username) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, connection_string) - ZEND_ARG_INFO(0, character_set) - ZEND_ARG_INFO(0, session_mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_connect, 0, 0, 2) - ZEND_ARG_INFO(0, username) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, connection_string) - ZEND_ARG_INFO(0, character_set) - ZEND_ARG_INFO(0, session_mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_pconnect, 0, 0, 2) - ZEND_ARG_INFO(0, username) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, connection_string) - ZEND_ARG_INFO(0, character_set) - ZEND_ARG_INFO(0, session_mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_error, 0, 0, 0) - ZEND_ARG_INFO(0, connection_or_statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_num_fields, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_parse, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, sql_text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_get_implicit_resultset, 0, 0, 1) -ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_prefetch, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, number_of_rows) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_client_identifier, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, client_identifier) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_edition, 0, 0, 1) - ZEND_ARG_INFO(0, edition_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_module_name, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, module_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_action, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, action) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_client_info, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, client_information) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_db_operation, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, action) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_call_timeout, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, call_timeout) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_password_change, 0, 0, 4) - ZEND_ARG_INFO(0, connection_resource_or_connection_string) - ZEND_ARG_INFO(0, username) - ZEND_ARG_INFO(0, old_password) - ZEND_ARG_INFO(0, new_password) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_cursor, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_result, 0, 0, 2) - ZEND_ARG_INFO(0, statement_resource) - ZEND_ARG_INFO(0, column_number_or_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_client_version, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_server_version, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_statement_type, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_num_rows, 0, 0, 1) - ZEND_ARG_INFO(0, statement_resource) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_free_collection, 0, 0, 1) - ZEND_ARG_INFO(0, collection) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_append, 0, 0, 2) - ZEND_ARG_INFO(0, collection) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_element_get, 0, 0, 2) - ZEND_ARG_INFO(0, collection) - ZEND_ARG_INFO(0, index) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_assign, 0, 0, 2) - ZEND_ARG_INFO(0, collection_to) - ZEND_ARG_INFO(0, collection_from) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_element_assign, 0, 0, 3) - ZEND_ARG_INFO(0, collection) - ZEND_ARG_INFO(0, index) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_size, 0, 0, 1) - ZEND_ARG_INFO(0, collection) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_max, 0, 0, 1) - ZEND_ARG_INFO(0, collection) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_trim, 0, 0, 2) - ZEND_ARG_INFO(0, collection) - ZEND_ARG_INFO(0, number) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_collection, 0, 0, 2) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, type_name) - ZEND_ARG_INFO(0, schema_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_register_taf_callback, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) - ZEND_ARG_INFO(0, function_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_unregister_taf_callback, 0, 0, 1) - ZEND_ARG_INFO(0, connection_resource) -ZEND_END_ARG_INFO() -/* }}} */ - -/* {{{ LOB Method arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_save_method, 0, 0, 1) - ZEND_ARG_INFO(0, data) - ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_import_method, 0, 0, 1) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_load_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_read_method, 0, 0, 1) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_eof_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_tell_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_rewind_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_seek_method, 0, 0, 1) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, whence) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_size_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_write_method, 0, 0, 1) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_append_method, 0, 0, 1) - ZEND_ARG_INFO(0, lob_descriptor_from) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_truncate_method, 0, 0, 0) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_erase_method, 0, 0, 0) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_flush_method, 0, 0, 0) - ZEND_ARG_INFO(0, flag) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_setbuffering_method, 0, 0, 1) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_getbuffering_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_export_method, 0, 0, 1) - ZEND_ARG_INFO(0, filename) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, length) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_lob_write_temporary_method, 0, 0, 1) - ZEND_ARG_INFO(0, data) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_lob_close_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_free_descriptor_method, 0) -ZEND_END_ARG_INFO() -/* }}} */ - -/* {{{ Collection Method arginfo */ -ZEND_BEGIN_ARG_INFO(arginfo_oci_collection_free_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_append_method, 0, 0, 1) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_element_get_method, 0, 0, 1) - ZEND_ARG_INFO(0, index) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_assign_method, 0, 0, 1) - ZEND_ARG_INFO(0, collection_from) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_element_assign_method, 0, 0, 2) - ZEND_ARG_INFO(0, index) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_collection_size_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_oci_collection_max_method, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_collection_trim_method, 0, 0, 1) - ZEND_ARG_INFO(0, number) -ZEND_END_ARG_INFO() -/* }}} */ - -/* {{{ extension function prototypes -*/ -PHP_FUNCTION(oci_bind_by_name); -PHP_FUNCTION(oci_bind_array_by_name); -PHP_FUNCTION(oci_define_by_name); -PHP_FUNCTION(oci_field_is_null); -PHP_FUNCTION(oci_field_name); -PHP_FUNCTION(oci_field_size); -PHP_FUNCTION(oci_field_scale); -PHP_FUNCTION(oci_field_precision); -PHP_FUNCTION(oci_field_type); -PHP_FUNCTION(oci_field_type_raw); -PHP_FUNCTION(oci_execute); -PHP_FUNCTION(oci_fetch); -PHP_FUNCTION(oci_cancel); -PHP_FUNCTION(ocifetchinto); -PHP_FUNCTION(oci_fetch_object); -PHP_FUNCTION(oci_fetch_row); -PHP_FUNCTION(oci_fetch_assoc); -PHP_FUNCTION(oci_fetch_array); -PHP_FUNCTION(ocifetchstatement); -PHP_FUNCTION(oci_fetch_all); -PHP_FUNCTION(oci_free_statement); -PHP_FUNCTION(oci_internal_debug); -PHP_FUNCTION(oci_close); -PHP_FUNCTION(oci_connect); -PHP_FUNCTION(oci_new_connect); -PHP_FUNCTION(oci_pconnect); -PHP_FUNCTION(oci_error); -PHP_FUNCTION(oci_free_descriptor); -PHP_FUNCTION(oci_commit); -PHP_FUNCTION(oci_rollback); -PHP_FUNCTION(oci_new_descriptor); -PHP_FUNCTION(oci_num_fields); -PHP_FUNCTION(oci_parse); -PHP_FUNCTION(oci_get_implicit_resultset); -PHP_FUNCTION(oci_new_cursor); -PHP_FUNCTION(oci_result); -PHP_FUNCTION(oci_client_version); -PHP_FUNCTION(oci_server_version); -PHP_FUNCTION(oci_statement_type); -PHP_FUNCTION(oci_num_rows); -PHP_FUNCTION(oci_set_prefetch); -PHP_FUNCTION(oci_set_client_identifier); -PHP_FUNCTION(oci_set_db_operation); -PHP_FUNCTION(oci_set_call_timeout); -PHP_FUNCTION(oci_set_edition); -PHP_FUNCTION(oci_set_module_name); -PHP_FUNCTION(oci_set_action); -PHP_FUNCTION(oci_set_client_info); -PHP_FUNCTION(oci_password_change); -PHP_FUNCTION(oci_lob_save); -PHP_FUNCTION(oci_lob_import); -PHP_FUNCTION(oci_lob_export); -PHP_FUNCTION(oci_lob_load); -PHP_FUNCTION(oci_lob_tell); -PHP_FUNCTION(oci_lob_write); -PHP_FUNCTION(oci_lob_append); -PHP_FUNCTION(oci_lob_copy); -PHP_FUNCTION(oci_lob_truncate); -PHP_FUNCTION(oci_lob_erase); -PHP_FUNCTION(oci_lob_flush); -PHP_FUNCTION(ocisetbufferinglob); -PHP_FUNCTION(ocigetbufferinglob); -PHP_FUNCTION(oci_lob_is_equal); -PHP_FUNCTION(oci_lob_rewind); -PHP_FUNCTION(oci_lob_read); -PHP_FUNCTION(oci_lob_eof); -PHP_FUNCTION(oci_lob_seek); -PHP_FUNCTION(oci_lob_size); -PHP_FUNCTION(oci_lob_write_temporary); -PHP_FUNCTION(oci_lob_close); -PHP_FUNCTION(oci_new_collection); -PHP_FUNCTION(oci_free_collection); -PHP_FUNCTION(oci_collection_append); -PHP_FUNCTION(oci_collection_element_get); -PHP_FUNCTION(oci_collection_element_assign); -PHP_FUNCTION(oci_collection_assign); -PHP_FUNCTION(oci_collection_size); -PHP_FUNCTION(oci_collection_max); -PHP_FUNCTION(oci_collection_trim); -PHP_FUNCTION(oci_register_taf_callback); -PHP_FUNCTION(oci_unregister_taf_callback); -/* }}} */ +#include "oci8_arginfo.h" /* {{{ extension definition structures */ -static const zend_function_entry php_oci_functions[] = { - PHP_FE(oci_define_by_name, arginfo_oci_define_by_name) - PHP_FE(oci_bind_by_name, arginfo_oci_bind_by_name) - PHP_FE(oci_bind_array_by_name, arginfo_oci_bind_array_by_name) - PHP_FE(oci_field_is_null, arginfo_oci_field_is_null) - PHP_FE(oci_field_name, arginfo_oci_field_name) - PHP_FE(oci_field_size, arginfo_oci_field_size) - PHP_FE(oci_field_scale, arginfo_oci_field_scale) - PHP_FE(oci_field_precision, arginfo_oci_field_precision) - PHP_FE(oci_field_type, arginfo_oci_field_type) - PHP_FE(oci_field_type_raw, arginfo_oci_field_type_raw) - PHP_FE(oci_execute, arginfo_oci_execute) - PHP_FE(oci_cancel, arginfo_oci_cancel) - PHP_FE(oci_fetch, arginfo_oci_fetch) - PHP_FE(oci_fetch_object, arginfo_oci_fetch_object) - PHP_FE(oci_fetch_row, arginfo_oci_fetch_row) - PHP_FE(oci_fetch_assoc, arginfo_oci_fetch_assoc) - PHP_FE(oci_fetch_array, arginfo_oci_fetch_array) - PHP_FE(ocifetchinto, arginfo_ocifetchinto) - PHP_FE(oci_fetch_all, arginfo_oci_fetch_all) - PHP_FE(oci_free_statement, arginfo_oci_free_statement) - PHP_FE(oci_internal_debug, arginfo_oci_internal_debug) - PHP_FE(oci_num_fields, arginfo_oci_num_fields) - PHP_FE(oci_parse, arginfo_oci_parse) - PHP_FE(oci_get_implicit_resultset, arginfo_oci_get_implicit_resultset) - PHP_FE(oci_new_cursor, arginfo_oci_new_cursor) - PHP_FE(oci_result, arginfo_oci_result) - PHP_FE(oci_client_version, arginfo_oci_client_version) - PHP_FE(oci_server_version, arginfo_oci_server_version) - PHP_FE(oci_statement_type, arginfo_oci_statement_type) - PHP_FE(oci_num_rows, arginfo_oci_num_rows) - PHP_FE(oci_close, arginfo_oci_close) - PHP_FE(oci_connect, arginfo_oci_connect) - PHP_FE(oci_new_connect, arginfo_oci_new_connect) - PHP_FE(oci_pconnect, arginfo_oci_pconnect) - PHP_FE(oci_error, arginfo_oci_error) - PHP_FE(oci_free_descriptor, arginfo_oci_free_descriptor) - PHP_FE(oci_lob_save, arginfo_oci_lob_save) - PHP_FE(oci_lob_import, arginfo_oci_lob_import) - PHP_FE(oci_lob_size, arginfo_oci_lob_size) - PHP_FE(oci_lob_load, arginfo_oci_lob_load) - PHP_FE(oci_lob_read, arginfo_oci_lob_read) - PHP_FE(oci_lob_eof, arginfo_oci_lob_eof) - PHP_FE(oci_lob_tell, arginfo_oci_lob_tell) - PHP_FE(oci_lob_truncate, arginfo_oci_lob_truncate) - PHP_FE(oci_lob_erase, arginfo_oci_lob_erase) - PHP_FE(oci_lob_flush, arginfo_oci_lob_flush) - PHP_FE(ocisetbufferinglob, arginfo_ocisetbufferinglob) - PHP_FE(ocigetbufferinglob, arginfo_ocigetbufferinglob) - PHP_FE(oci_lob_is_equal, arginfo_oci_lob_is_equal) - PHP_FE(oci_lob_rewind, arginfo_oci_lob_rewind) - PHP_FE(oci_lob_write, arginfo_oci_lob_write) - PHP_FE(oci_lob_append, arginfo_oci_lob_append) - PHP_FE(oci_lob_copy, arginfo_oci_lob_copy) - PHP_FE(oci_lob_export, arginfo_oci_lob_export) - PHP_FE(oci_lob_seek, arginfo_oci_lob_seek) - PHP_FE(oci_commit, arginfo_oci_commit) - PHP_FE(oci_rollback, arginfo_oci_rollback) - PHP_FE(oci_new_descriptor, arginfo_oci_new_descriptor) - PHP_FE(oci_set_prefetch, arginfo_oci_set_prefetch) - PHP_FE(oci_set_client_identifier, arginfo_oci_set_client_identifier) - PHP_FE(oci_set_db_operation, arginfo_oci_set_db_operation) - PHP_FE(oci_set_call_timeout, arginfo_oci_set_call_timeout) - PHP_FE(oci_set_edition, arginfo_oci_set_edition) - PHP_FE(oci_set_module_name, arginfo_oci_set_module_name) - PHP_FE(oci_set_action, arginfo_oci_set_action) - PHP_FE(oci_set_client_info, arginfo_oci_set_client_info) - PHP_FE(oci_password_change, arginfo_oci_password_change) - PHP_FE(oci_free_collection, arginfo_oci_free_collection) - PHP_FE(oci_collection_append, arginfo_oci_collection_append) - PHP_FE(oci_collection_element_get, arginfo_oci_collection_element_get) - PHP_FE(oci_collection_element_assign, arginfo_oci_collection_element_assign) - PHP_FE(oci_collection_assign, arginfo_oci_collection_assign) - PHP_FE(oci_collection_size, arginfo_oci_collection_size) - PHP_FE(oci_collection_max, arginfo_oci_collection_max) - PHP_FE(oci_collection_trim, arginfo_oci_collection_trim) - PHP_FE(oci_new_collection, arginfo_oci_new_collection) - PHP_FE(oci_register_taf_callback, arginfo_oci_register_taf_callback) - PHP_FE(oci_unregister_taf_callback, arginfo_oci_unregister_taf_callback) - - PHP_FALIAS(oci_free_cursor, oci_free_statement, arginfo_oci_free_statement) - PHP_DEP_FALIAS(ocifreecursor, oci_free_statement, arginfo_oci_free_statement) - PHP_DEP_FALIAS(ocibindbyname, oci_bind_by_name, arginfo_oci_bind_by_name) - PHP_DEP_FALIAS(ocidefinebyname, oci_define_by_name, arginfo_oci_define_by_name) - PHP_DEP_FALIAS(ocicolumnisnull, oci_field_is_null, arginfo_oci_field_is_null) - PHP_DEP_FALIAS(ocicolumnname, oci_field_name, arginfo_oci_field_name) - PHP_DEP_FALIAS(ocicolumnsize, oci_field_size, arginfo_oci_field_size) - PHP_DEP_FALIAS(ocicolumnscale, oci_field_scale, arginfo_oci_field_scale) - PHP_DEP_FALIAS(ocicolumnprecision, oci_field_precision, arginfo_oci_field_precision) - PHP_DEP_FALIAS(ocicolumntype, oci_field_type, arginfo_oci_field_type) - PHP_DEP_FALIAS(ocicolumntyperaw, oci_field_type_raw, arginfo_oci_field_type_raw) - PHP_DEP_FALIAS(ociexecute, oci_execute, arginfo_oci_execute) - PHP_DEP_FALIAS(ocicancel, oci_cancel, arginfo_oci_cancel) - PHP_DEP_FALIAS(ocifetch, oci_fetch, arginfo_oci_fetch) - PHP_DEP_FALIAS(ocifetchstatement, oci_fetch_all, arginfo_oci_fetch_all) - PHP_DEP_FALIAS(ocifreestatement, oci_free_statement, arginfo_oci_free_statement) - PHP_DEP_FALIAS(ociinternaldebug, oci_internal_debug, arginfo_oci_internal_debug) - PHP_DEP_FALIAS(ocinumcols, oci_num_fields, arginfo_oci_num_fields) - PHP_DEP_FALIAS(ociparse, oci_parse, arginfo_oci_parse) - PHP_DEP_FALIAS(ocinewcursor, oci_new_cursor, arginfo_oci_new_cursor) - PHP_DEP_FALIAS(ociresult, oci_result, arginfo_oci_result) - PHP_DEP_FALIAS(ociserverversion, oci_server_version, arginfo_oci_server_version) - PHP_DEP_FALIAS(ocistatementtype, oci_statement_type, arginfo_oci_statement_type) - PHP_DEP_FALIAS(ocirowcount, oci_num_rows, arginfo_oci_num_rows) - PHP_DEP_FALIAS(ocilogoff, oci_close, arginfo_oci_close) - PHP_DEP_FALIAS(ocilogon, oci_connect, arginfo_oci_connect) - PHP_DEP_FALIAS(ocinlogon, oci_new_connect, arginfo_oci_new_connect) - PHP_DEP_FALIAS(ociplogon, oci_pconnect, arginfo_oci_pconnect) - PHP_DEP_FALIAS(ocierror, oci_error, arginfo_oci_error) - PHP_DEP_FALIAS(ocifreedesc, oci_free_descriptor, arginfo_oci_free_descriptor) - PHP_DEP_FALIAS(ocisavelob, oci_lob_save, arginfo_oci_lob_save) - PHP_DEP_FALIAS(ocisavelobfile, oci_lob_import, arginfo_oci_lob_import) - PHP_DEP_FALIAS(ociwritelobtofile, oci_lob_export, arginfo_oci_lob_export) - PHP_DEP_FALIAS(ociloadlob, oci_lob_load, arginfo_oci_lob_load) - PHP_DEP_FALIAS(ocicommit, oci_commit, arginfo_oci_commit) - PHP_DEP_FALIAS(ocirollback, oci_rollback, arginfo_oci_rollback) - PHP_DEP_FALIAS(ocinewdescriptor, oci_new_descriptor, arginfo_oci_new_descriptor) - PHP_DEP_FALIAS(ocisetprefetch, oci_set_prefetch, arginfo_oci_set_prefetch) - PHP_DEP_FALIAS(ocipasswordchange, oci_password_change, arginfo_oci_password_change) - PHP_DEP_FALIAS(ocifreecollection, oci_free_collection, arginfo_oci_free_collection) - PHP_DEP_FALIAS(ocinewcollection, oci_new_collection, arginfo_oci_new_collection) - PHP_DEP_FALIAS(ocicollappend, oci_collection_append, arginfo_oci_collection_append) - PHP_DEP_FALIAS(ocicollgetelem, oci_collection_element_get, arginfo_oci_collection_element_get) - PHP_DEP_FALIAS(ocicollassignelem, oci_collection_element_assign, arginfo_oci_collection_element_assign) - PHP_DEP_FALIAS(ocicollsize, oci_collection_size, arginfo_oci_collection_size) - PHP_DEP_FALIAS(ocicollmax, oci_collection_max, arginfo_oci_collection_max) - PHP_DEP_FALIAS(ocicolltrim, oci_collection_trim, arginfo_oci_collection_trim) - PHP_FE_END -}; - -static const zend_function_entry php_oci_lob_class_functions[] = { - PHP_FALIAS(load, oci_lob_load, arginfo_oci_lob_load_method) - PHP_FALIAS(tell, oci_lob_tell, arginfo_oci_lob_tell_method) - PHP_FALIAS(truncate, oci_lob_truncate, arginfo_oci_lob_truncate_method) - PHP_FALIAS(erase, oci_lob_erase, arginfo_oci_lob_erase_method) - PHP_FALIAS(flush, oci_lob_flush, arginfo_oci_lob_flush_method) - PHP_FALIAS(setbuffering,ocisetbufferinglob, arginfo_oci_lob_setbuffering_method) - PHP_FALIAS(getbuffering,ocigetbufferinglob, arginfo_oci_lob_getbuffering_method) - PHP_FALIAS(rewind, oci_lob_rewind, arginfo_oci_lob_rewind_method) - PHP_FALIAS(read, oci_lob_read, arginfo_oci_lob_read_method) - PHP_FALIAS(eof, oci_lob_eof, arginfo_oci_lob_eof_method) - PHP_FALIAS(seek, oci_lob_seek, arginfo_oci_lob_seek_method) - PHP_FALIAS(write, oci_lob_write, arginfo_oci_lob_write_method) - PHP_FALIAS(append, oci_lob_append, arginfo_oci_lob_append_method) - PHP_FALIAS(size, oci_lob_size, arginfo_oci_lob_size_method) - PHP_FALIAS(writetofile, oci_lob_export, arginfo_oci_lob_export_method) - PHP_FALIAS(export, oci_lob_export, arginfo_oci_lob_export_method) - PHP_FALIAS(import, oci_lob_import, arginfo_oci_lob_import_method) - PHP_FALIAS(writetemporary, oci_lob_write_temporary, arginfo_oci_lob_write_temporary_method) - PHP_FALIAS(close, oci_lob_close, arginfo_oci_lob_close_method) - PHP_FALIAS(save, oci_lob_save, arginfo_oci_lob_save_method) - PHP_FALIAS(savefile, oci_lob_import, arginfo_oci_lob_import_method) - PHP_FALIAS(free, oci_free_descriptor, arginfo_oci_free_descriptor_method) - PHP_FE_END -}; - -static const zend_function_entry php_oci_coll_class_functions[] = { - PHP_FALIAS(append, oci_collection_append, arginfo_oci_collection_append_method) - PHP_FALIAS(getelem, oci_collection_element_get, arginfo_oci_collection_element_get_method) - PHP_FALIAS(assignelem, oci_collection_element_assign, arginfo_oci_collection_element_assign_method) - PHP_FALIAS(assign, oci_collection_assign, arginfo_oci_collection_assign_method) - PHP_FALIAS(size, oci_collection_size, arginfo_oci_collection_size_method) - PHP_FALIAS(max, oci_collection_max, arginfo_oci_collection_max_method) - PHP_FALIAS(trim, oci_collection_trim, arginfo_oci_collection_trim_method) - PHP_FALIAS(free, oci_free_collection, arginfo_oci_collection_free_method) - PHP_FE_END -}; zend_module_entry oci8_module_entry = { STANDARD_MODULE_HEADER, "oci8", /* extension name */ - php_oci_functions, /* extension function list */ + ext_functions, /* extension function list */ PHP_MINIT(oci), /* extension-wide startup function */ PHP_MSHUTDOWN(oci), /* extension-wide shutdown function */ PHP_RINIT(oci), /* per-request startup function */ @@ -1047,8 +290,8 @@ PHP_MINIT_FUNCTION(oci) le_descriptor = zend_register_list_destructors_ex(php_oci_descriptor_list_dtor, NULL, "oci8 descriptor", module_number); le_collection = zend_register_list_destructors_ex(php_oci_collection_list_dtor, NULL, "oci8 collection", module_number); - INIT_CLASS_ENTRY(oci_lob_class_entry, "OCI-Lob", php_oci_lob_class_functions); - INIT_CLASS_ENTRY(oci_coll_class_entry, "OCI-Collection", php_oci_coll_class_functions); + INIT_CLASS_ENTRY(oci_lob_class_entry, "OCI-Lob", class_OCI_Lob_methods); + INIT_CLASS_ENTRY(oci_coll_class_entry, "OCI-Collection", class_OCI_Collection_methods); oci_lob_class_entry_ptr = zend_register_internal_class(&oci_lob_class_entry); oci_coll_class_entry_ptr = zend_register_internal_class(&oci_coll_class_entry); diff --git a/ext/oci8/oci8.stub.php b/ext/oci8/oci8.stub.php new file mode 100644 index 0000000000..e3ef6fb3cc --- /dev/null +++ b/ext/oci8/oci8.stub.php @@ -0,0 +1,815 @@ +<?php + +/** @generate-function-entries */ + +/** + * @param resource $statement_resource + * @param mixed $variable + */ +function oci_define_by_name($statement_resource, string $column_name, &$variable, int $type = 0): bool {} + +/** + * @param resource $statement_resource + * @param mixed $variable + * @alias oci_define_by_name + * @deprecated + */ +function ocidefinebyname($statement_resource, string $column_name, &$variable, int $type = 0): bool {} + +/** + * @param resource $statement_resource + * @param mixed $variable + */ +function oci_bind_by_name($statement_resource, string $column_name, &$variable, int $maximum_length = -1, int $type = 0): bool {} + +/** + * @param resource $statement_resource + * @param mixed $variable + * @alias oci_bind_by_name + * @deprecated + */ +function ocibindbyname($statement_resource, string $column_name, &$variable, int $maximum_length = -1, int $type = 0): bool {} + +/** + * @param resource $statement_resource + * @param mixed $variable + */ +function oci_bind_array_by_name($statement_resource, string $column_name, &$variable, int $maximum_array_length, int $maximum_item_length = -1, int $type = SQLT_AFC): bool {} + +function oci_free_descriptor(OCI_Lob $lob_descriptor): bool {} + +/** + * @alias oci_free_descriptor + * @deprecated + */ +function ocifreedesc(OCI_Lob $lob_descriptor): bool {} + +function oci_lob_save(OCI_Lob $lob_descriptor, string $data, int $offset = 0): bool {} + +/** + * @alias oci_lob_save + * @deprecated + */ +function ocisavelob(OCI_Lob $lob_descriptor, string $data, int $offset = 0): bool {} + +function oci_lob_import(OCI_Lob $lob_descriptor, string $filename): bool {} + +/** + * @alias oci_lob_import + * @deprecated + */ +function ocisavelobfile(OCI_Lob $lob_descriptor, string $filename): bool {} + +function oci_lob_load(OCI_Lob $lob_descriptor): string|false {} + +/** + * @alias oci_lob_load + * @deprecated + */ +function ociloadlob(OCI_Lob $lob_descriptor): string|false {} + +function oci_lob_read(OCI_Lob $lob_descriptor, int $length): string|false {} + +function oci_lob_eof(OCI_Lob $lob_descriptor): bool {} + +function oci_lob_tell(OCI_Lob $lob_descriptor): int|false {} + +function oci_lob_rewind(OCI_Lob $lob_descriptor): bool {} + +function oci_lob_seek(OCI_Lob $lob_descriptor, int $offset, int $whence = OCI_SEEK_SET): bool {} + +function oci_lob_size(OCI_Lob $lob_descriptor): int|false {} + +function oci_lob_write(OCI_Lob $lob_descriptor, string $string, int $length = UNKNOWN): int|false {} + +function oci_lob_append(OCI_Lob $lob_descriptor_to, OCI_Lob $lob_descriptor_from): bool {} + +function oci_lob_truncate(OCI_Lob $lob_descriptor, int $length = 0): bool {} + +function oci_lob_erase(OCI_Lob $lob_descriptor, int $offset = UNKNOWN, int $length = UNKNOWN): int|false {} + +function oci_lob_flush(OCI_Lob $lob_descriptor, int $flag = 0): bool {} + +function ocisetbufferinglob(OCI_Lob $lob_descriptor, bool $mode): bool {} + +function ocigetbufferinglob(OCI_Lob $lob_descriptor): bool {} + +function oci_lob_copy(OCI_Lob $lob_descriptor_to, OCI_Lob $lob_descriptor_from, int $length = UNKNOWN): bool {} + +function oci_lob_is_equal(OCI_Lob $lob_descriptor_first, OCI_Lob $lob_descriptor_second): bool {} + +function oci_lob_export(OCI_Lob $lob_descriptor, string $path, int $start = UNKNOWN, int $length = UNKNOWN): bool {} + +/** + * @alias oci_lob_export + * @deprecated + */ +function ociwritelobtofile(OCI_Lob $lob_descriptor, string $path, int $start = UNKNOWN, int $length = UNKNOWN): bool {} + +/** + * @param resource $connection_resource + */ +function oci_new_descriptor($connection_resource, int $type = OCI_DTYPE_LOB): ?OCI_Lob {} + +/** + * @param resource $connection_resource + * @alias oci_new_descriptor + * @deprecated + */ +function ocinewdescriptor($connection_resource, int $type = OCI_DTYPE_LOB): ?OCI_Lob {} + +/** + * @param resource $connection_resource + */ +function oci_rollback($connection_resource): bool {} + +/** + * @param resource $connection_resource + * @alias oci_rollback + * @deprecated + */ +function ocirollback($connection_resource): bool {} + +/** + * @param resource $connection_resource + */ +function oci_commit($connection_resource): bool {} + +/** + * @param resource $connection_resource + * @alias oci_commit + * @deprecated + */ +function ocicommit($connection_resource): bool {} + +/** + * @param resource $statement_resource + */ +function oci_field_name($statement_resource, string|int $column_number_or_name): string|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_name + * @deprecated + */ +function ocicolumnname($statement_resource, string|int $column_number_or_name): string|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_size($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_size + * @deprecated + */ +function ocicolumnsize($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_scale($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_scale + * @deprecated + */ +function ocicolumnscale($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_precision($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_precision + * @deprecated + */ +function ocicolumnprecision($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_type($statement_resource, string|int $column_number_or_name): string|int|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_type + * @deprecated + */ +function ocicolumntype($statement_resource, string|int $column_number_or_name): string|int|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_type_raw($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + * @alias oci_field_type_raw + * @deprecated + */ +function ocicolumntyperaw($statement_resource, string|int $column_number_or_name): int|false {} + +/** + * @param resource $statement_resource + */ +function oci_field_is_null($statement_resource, string|int $column_number_or_name): bool {} + +/** + * @param resource $statement_resource + * @alias oci_field_is_null + * @deprecated + */ +function ocicolumnisnull($statement_resource, string|int $column_number_or_name): bool {} + +function oci_internal_debug(bool $mode): void {} + +/** + * @alias oci_internal_debug + * @deprecated + */ +function ociinternaldebug(bool $mode): void {} + +/** + * @param resource $statement_resource + */ +function oci_execute($statement_resource, int $mode = OCI_COMMIT_ON_SUCCESS): bool {} + +/** + * @param resource $statement_resource + * @alias oci_execute + * @deprecated + */ +function ociexecute($statement_resource, int $mode = OCI_COMMIT_ON_SUCCESS): bool {} + +/** + * @param resource $statement_resource + */ +function oci_cancel($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @alias oci_cancel + * @deprecated + */ +function ocicancel($statement_resource): bool {} + +/** + * @param resource $statement_resource + */ +function oci_fetch($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @alias oci_fetch + * @deprecated + */ +function ocifetch($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @param array $result + */ +function ocifetchinto($statement_resource, &$result, int $mode = OCI_NUM): int|false {} + +/** + * @param resource $statement_resource + * @param array $output + */ +function oci_fetch_all($statement_resource, &$output, int $skip = 0, int $maximum_rows = -1, int $flags = 0): int {} + +/** + * @param resource $statement_resource + * @param mixed $output + * @alias oci_fetch_all + * @deprecated + */ +function ocifetchstatement($statement_resource, &$output, int $skip = 0, int $maximum_rows = -1, int $flags = 0): int {} + +/** + * @param resource $statement_resource + */ +function oci_fetch_object($statement_resource, int $mode = PHP_OCI_ASSOC | PHP_OCI_RETURN_NULLS): stdClass|null|false {} + +/** + * @param resource $statement_resource + */ +function oci_fetch_row($statement_resource): array|false {} + +/** + * @param resource $statement_resource + */ +function oci_fetch_assoc($statement_resource): array|false {} + +/** + * @param resource $statement_resource + */ +function oci_fetch_array($statement_resource, int $mode = PHP_OCI_BOTH | PHP_OCI_RETURN_NULLS): array|false {} + +/** + * @param resource $statement_resource + */ +function oci_free_statement($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @alias oci_free_statement + * @deprecated + */ +function ocifreestatement($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @alias oci_free_statement + */ +function oci_free_cursor($statement_resource): bool {} + +/** + * @param resource $statement_resource + * @alias oci_free_statement + * @deprecated + */ +function ocifreecursor($statement_resource): bool {} + +/** + * @param resource $connection_resource + */ +function oci_close($connection_resource): bool|null {} + +/** + * @param resource $connection_resource + * @alias oci_close + * @deprecated + */ +function ocilogoff($connection_resource): bool|null {} + +/** + * @return resource|false + */ +function oci_new_connect(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @return resource|false + * @alias oci_new_connect + * @deprecated + */ +function ocinlogon(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @return resource|false + */ +function oci_connect(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @return resource|false + * @alias oci_connect + * @deprecated + */ +function ocilogon(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @return resource|false + */ +function oci_pconnect(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @return resource|false + * @alias oci_pconnect + * @deprecated + */ +function ociplogon(string $username, string $password, string $connection_string = UNKNOWN, string $character_set = '', int $session_mode = OCI_DEFAULT) {} + +/** + * @param resource $connection_or_statement_resource + */ +function oci_error($connection_or_statement_resource = UNKNOWN): array|false {} + +/** + * @param resource|null $connection_or_statement_resource + * @alias oci_error + * @deprecated + */ +function ocierror($connection_or_statement_resource = UNKNOWN): array|false {} + +/** + * @param resource $statement_resource + */ +function oci_num_fields($statement_resource): int {} + +/** + * @param resource $statement_resource + * @alias oci_num_fields + * @deprecated + */ +function ocinumcols($statement_resource): int {} + +/** + * @param resource $connection_resource + * @return resource|false + */ +function oci_parse($connection_resource, string $sql_text) {} + +/** + * @param resource $connection_resource + * @return resource|false + * @alias oci_parse + * @deprecated + */ +function ociparse($connection_resource, string $sql_text) {} + +/** + * @param resource $statement_resource + * @return resource|false + */ +function oci_get_implicit_resultset($statement_resource) {} + +/** + * @param resource $statement_resource + */ +function oci_set_prefetch($statement_resource, int $number_of_rows): ?bool {} + +/** + * @param resource $statement_resource + * @alias oci_set_prefetch + * @deprecated + */ +function ocisetprefetch($statement_resource, int $number_of_rows): ?bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_client_identifier($connection_resource, string $client_identifier): bool {} + +function oci_set_edition(string $edition_name): bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_module_name($connection_resource, string $module_name): bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_action($connection_resource, string $action): bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_client_info($connection_resource, string $client_information): bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_db_operation($connection_resource, string $action): bool {} + +/** + * @param resource $connection_resource + */ +function oci_set_call_timeout($connection_resource, int $call_timeout): bool {} + +/** + * @param resource|string $connection_resource_or_connection_string + * @return resource|bool + */ +function oci_password_change($connection_resource_or_connection_string, string $username, string $old_password, string $new_password) {} + +/** + * @param resource|string $connection_resource_or_connection_string + * @return resource|bool + * @alias oci_password_change + * @deprecated + */ +function ocipasswordchange($connection_resource_or_connection_string, string $username, string $old_password, string $new_password) {} + +/** + * @param resource $connection_resource + * @return resource|false + */ +function oci_new_cursor($connection_resource) {} + +/** + * @param resource $connection_resource + * @return resource|false + * @alias oci_new_cursor + * @deprecated + */ +function ocinewcursor($connection_resource) {} + +/** + * @param resource $statement_resource + */ +function oci_result($statement_resource, string|int $column_number_or_name): mixed {} + +/** + * @param resource $statement_resource + * @alias oci_result + * @deprecated + */ +function ociresult($statement_resource, string|int $column_number_or_name): mixed {} + +function oci_client_version(): string {} + +/** + * @param resource $connection_resource + */ +function oci_server_version($connection_resource): string|false {} + +/** + * @param resource $connection_resource + * @alias oci_server_version + * @deprecated + */ +function ociserverversion($connection_resource): string|false {} + +/** + * @param resource $statement_resource + */ +function oci_statement_type($statement_resource): string|false {} + +/** + * @param resource $statement_resource + * @alias oci_statement_type + * @deprecated + */ +function ocistatementtype($statement_resource): string|false {} + +/** + * @param resource $statement_resource + */ +function oci_num_rows($statement_resource): int|false {} + +/** + * @param resource $statement_resource + * @alias oci_num_rows + * @deprecated + */ +function ocirowcount($statement_resource): int|false {} + +function oci_free_collection(OCI_Collection $collection): bool {} + +/** + * @alias oci_free_collection + * @deprecated + */ +function ocifreecollection(OCI_Collection $collection): bool {} + +function oci_collection_append(OCI_Collection $collection, string $value): bool {} + +/** + * @alias oci_collection_append + * @deprecated + */ +function ocicollappend(OCI_Collection $collection, string $value): bool {} + +function oci_collection_element_get(OCI_Collection $collection, int $index): string|float|null|false {} + +/** + * @alias oci_collection_element_get + * @deprecated + */ +function ocicollgetelem(OCI_Collection $collection, int $index): string|float|null|false {} + +function oci_collection_assign(OCI_Collection $collection_to, OCI_Collection $collection_from): bool {} + +function oci_collection_element_assign(OCI_Collection $collection, int $index, string $value): bool {} + +/** + * @alias oci_collection_element_assign + * @deprecated + */ +function ocicollassignelem(OCI_Collection $collection, int $index, string $value): bool {} + +function oci_collection_size(OCI_Collection $collection): int|false {} + +/** + * @alias oci_collection_size + * @deprecated + */ +function ocicollsize(OCI_Collection $collection): int|false {} + +function oci_collection_max(OCI_Collection $collection): int|false {} + +/** + * @alias oci_collection_max + * @deprecated + */ +function ocicollmax(OCI_Collection $collection): int|false {} + +function oci_collection_trim(OCI_Collection $collection, int $number): bool {} + +/** + * @alias oci_collection_trim + * @deprecated + */ +function ocicolltrim(OCI_Collection $collection, int $number): bool {} + +/** + * @param resource $connection_resource + */ +function oci_new_collection($connection_resource, string $type_name, string $schema_name = UNKNOWN): OCI_Collection|false {} + +/** + * @param resource $connection_resource + * @alias oci_new_collection + * @deprecated + */ +function ocinewcollection($connection_resource, string $type_name, string $schema_name = UNKNOWN): OCI_Collection|false {} + +/** + * @param resource $connection_resource + * @param callable|null $function_name + */ +function oci_register_taf_callback($connection_resource, $function_name): bool {} + +/** + * @param resource $connection_resource + */ +function oci_unregister_taf_callback($connection_resource): bool {} + +class OCI_Lob { + /** + * @alias oci_lob_save + * @return bool + */ + public function save(string $data, int $offset = 0) {} + + /** + * @alias oci_lob_import + * @return bool + */ + public function import(string $filename) {} + + /** + * @alias oci_lob_import + * @return bool + */ + public function savefile(string $filename) {} + + /** + * @alias oci_lob_load + * @return string|false + */ + public function load() {} + + /** + * @alias oci_lob_read + * @return string|false + */ + public function read(int $length) {} + + /** + * @alias oci_lob_eof + * @return bool + */ + public function eof() {} + + /** + * @alias oci_lob_tell + * @return int|false + */ + public function tell() {} + + /** + * @alias oci_lob_rewind + * @return bool + */ + public function rewind() {} + + /** + * @alias oci_lob_seek + * @return bool + */ + public function seek(int $offset, int $whence = OCI_SEEK_SET) {} + + /** + * @alias oci_lob_size + * @return int|false + */ + public function size() {} + + /** + * @alias oci_lob_write + * @return int|false + */ + public function write(string $string, int $length = UNKNOWN) {} + + /** + * @alias oci_lob_append + * @return bool + */ + public function append(OCI_Lob $lob_descriptor_from) {} + + /** + * @alias oci_lob_truncate + * @return bool + */ + public function truncate(int $length = 0) {} + + /** + * @alias oci_lob_erase + * @return int|false + */ + public function erase(int $offset = UNKNOWN, int $length = UNKNOWN) {} + + /** + * @alias oci_lob_flush + * @return bool + */ + public function flush(int $flag = 0): bool {} + + /** + * @alias ocisetbufferinglob + * @return bool + */ + public function setbuffering(bool $mode) {} + + /** + * @alias ocigetbufferinglob + * @return bool + */ + public function getbuffering() {} + + /** + * @alias oci_lob_export + * @return bool + */ + public function writetofile(string $path, int $start = UNKNOWN, int $length = UNKNOWN) {} + + /** + * @alias oci_lob_export + * @return bool + */ + public function export(string $path, int $start = UNKNOWN, int $length = UNKNOWN) {} + + /** + * @alias oci_lob_write_temporary + * @return bool + */ + public function writetemporary(string $data, int $type = OCI_TEMP_CLOB) {} + + /** + * @alias oci_lob_close + * @return bool + */ + public function close() {} + + /** + * @alias oci_free_descriptor + * @return bool + */ + public function free() {} +} + +class OCI_Collection { + /** + * @alias oci_free_collection + * @return bool + */ + public function free() {} + + /** + * @alias oci_collection_append + * @return bool + */ + public function append(string $value) {} + + /** + * @alias oci_collection_element_get + * @return string|float|null|false + */ + public function getElem(int $index) {} + + /** + * @alias oci_collection_assign + * @return bool + */ + public function assign(OCI_Collection $collection_from) {} + + /** + * @alias oci_collection_element_assign + * @return bool + */ + public function assignelem(int $index, string $value) {} + + /** + * @alias oci_collection_size + * @return int|false + */ + public function size() {} + + /** + * @alias oci_collection_max + * @return int|false + */ + public function max() {} + + /** + * @alias oci_collection_trim + * @return bool + */ + public function trim(int $number) {} +}
\ No newline at end of file diff --git a/ext/oci8/oci8_arginfo.h b/ext/oci8/oci8_arginfo.h new file mode 100644 index 0000000000..334e9d672c --- /dev/null +++ b/ext/oci8/oci8_arginfo.h @@ -0,0 +1,800 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: 9b7f698c1f9f099a392760d85d2bb85e17846f13 */ + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_define_by_name, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO(0, column_name, IS_STRING, 0) + ZEND_ARG_INFO(1, variable) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +#define arginfo_ocidefinebyname arginfo_oci_define_by_name + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_bind_by_name, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO(0, column_name, IS_STRING, 0) + ZEND_ARG_INFO(1, variable) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maximum_length, IS_LONG, 0, "-1") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +#define arginfo_ocibindbyname arginfo_oci_bind_by_name + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_bind_array_by_name, 0, 4, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO(0, column_name, IS_STRING, 0) + ZEND_ARG_INFO(1, variable) + ZEND_ARG_TYPE_INFO(0, maximum_array_length, IS_LONG, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maximum_item_length, IS_LONG, 0, "-1") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "SQLT_AFC") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_free_descriptor, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocifreedesc arginfo_oci_free_descriptor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_save, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +#define arginfo_ocisavelob arginfo_oci_lob_save + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_import, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocisavelobfile arginfo_oci_lob_import + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_lob_load, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ociloadlob arginfo_oci_lob_load + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_lob_read, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_oci_lob_eof arginfo_oci_free_descriptor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_lob_tell, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +#define arginfo_oci_lob_rewind arginfo_oci_free_descriptor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_seek, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, whence, IS_LONG, 0, "OCI_SEEK_SET") +ZEND_END_ARG_INFO() + +#define arginfo_oci_lob_size arginfo_oci_lob_tell + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_lob_write, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_append, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_to, OCI_Lob, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_from, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_truncate, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_lob_erase, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_flush, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flag, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ocisetbufferinglob, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, mode, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocigetbufferinglob arginfo_oci_free_descriptor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_copy, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_to, OCI_Lob, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_from, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_is_equal, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_first, OCI_Lob, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_second, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_lob_export, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, lob_descriptor, OCI_Lob, 0) + ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ociwritelobtofile arginfo_oci_lob_export + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_oci_new_descriptor, 0, 1, OCI_Lob, 1) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "OCI_DTYPE_LOB") +ZEND_END_ARG_INFO() + +#define arginfo_ocinewdescriptor arginfo_oci_new_descriptor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_rollback, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocirollback arginfo_oci_rollback + +#define arginfo_oci_commit arginfo_oci_rollback + +#define arginfo_ocicommit arginfo_oci_rollback + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_field_name, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_MASK(0, column_number_or_name, MAY_BE_STRING|MAY_BE_LONG, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_ocicolumnname arginfo_oci_field_name + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_field_size, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_MASK(0, column_number_or_name, MAY_BE_STRING|MAY_BE_LONG, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_ocicolumnsize arginfo_oci_field_size + +#define arginfo_oci_field_scale arginfo_oci_field_size + +#define arginfo_ocicolumnscale arginfo_oci_field_size + +#define arginfo_oci_field_precision arginfo_oci_field_size + +#define arginfo_ocicolumnprecision arginfo_oci_field_size + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_field_type, 0, 2, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_MASK(0, column_number_or_name, MAY_BE_STRING|MAY_BE_LONG, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_ocicolumntype arginfo_oci_field_type + +#define arginfo_oci_field_type_raw arginfo_oci_field_size + +#define arginfo_ocicolumntyperaw arginfo_oci_field_size + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_field_is_null, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_MASK(0, column_number_or_name, MAY_BE_STRING|MAY_BE_LONG, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_ocicolumnisnull arginfo_oci_field_is_null + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_internal_debug, 0, 1, IS_VOID, 0) + ZEND_ARG_TYPE_INFO(0, mode, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ociinternaldebug arginfo_oci_internal_debug + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_execute, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "OCI_COMMIT_ON_SUCCESS") +ZEND_END_ARG_INFO() + +#define arginfo_ociexecute arginfo_oci_execute + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_cancel, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocicancel arginfo_oci_cancel + +#define arginfo_oci_fetch arginfo_oci_cancel + +#define arginfo_ocifetch arginfo_oci_cancel + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ocifetchinto, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_INFO(1, result) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "OCI_NUM") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_fetch_all, 0, 2, IS_LONG, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_INFO(1, output) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, skip, IS_LONG, 0, "0") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maximum_rows, IS_LONG, 0, "-1") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +#define arginfo_ocifetchstatement arginfo_oci_fetch_all + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_oci_fetch_object, 0, 1, stdClass, MAY_BE_NULL|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "PHP_OCI_ASSOC | PHP_OCI_RETURN_NULLS") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_fetch_row, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_oci_fetch_assoc arginfo_oci_fetch_row + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "PHP_OCI_BOTH | PHP_OCI_RETURN_NULLS") +ZEND_END_ARG_INFO() + +#define arginfo_oci_free_statement arginfo_oci_cancel + +#define arginfo_ocifreestatement arginfo_oci_cancel + +#define arginfo_oci_free_cursor arginfo_oci_cancel + +#define arginfo_ocifreecursor arginfo_oci_cancel + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_close, 0, 1, _IS_BOOL, 1) + ZEND_ARG_INFO(0, connection_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocilogoff arginfo_oci_close + +ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_connect, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, connection_string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, character_set, IS_STRING, 0, "\'\'") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, session_mode, IS_LONG, 0, "OCI_DEFAULT") +ZEND_END_ARG_INFO() + +#define arginfo_ocinlogon arginfo_oci_new_connect + +#define arginfo_oci_connect arginfo_oci_new_connect + +#define arginfo_ocilogon arginfo_oci_new_connect + +#define arginfo_oci_pconnect arginfo_oci_new_connect + +#define arginfo_ociplogon arginfo_oci_new_connect + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_error, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_INFO(0, connection_or_statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocierror arginfo_oci_error + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_num_fields, 0, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocinumcols arginfo_oci_num_fields + +ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_parse, 0, 0, 2) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, sql_text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ociparse arginfo_oci_parse + +ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_get_implicit_resultset, 0, 0, 1) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_prefetch, 0, 2, _IS_BOOL, 1) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_INFO(0, number_of_rows, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocisetprefetch arginfo_oci_set_prefetch + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_client_identifier, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, client_identifier, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_edition, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, edition_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_module_name, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, module_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_action, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, action, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_client_info, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, client_information, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_oci_set_db_operation arginfo_oci_set_action + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_set_call_timeout, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, call_timeout, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_password_change, 0, 0, 4) + ZEND_ARG_INFO(0, connection_resource_or_connection_string) + ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, old_password, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, new_password, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocipasswordchange arginfo_oci_password_change + +ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_new_cursor, 0, 0, 1) + ZEND_ARG_INFO(0, connection_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocinewcursor arginfo_oci_new_cursor + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_result, 0, 2, IS_MIXED, 0) + ZEND_ARG_INFO(0, statement_resource) + ZEND_ARG_TYPE_MASK(0, column_number_or_name, MAY_BE_STRING|MAY_BE_LONG, NULL) +ZEND_END_ARG_INFO() + +#define arginfo_ociresult arginfo_oci_result + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_client_version, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_server_version, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_INFO(0, connection_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ociserverversion arginfo_oci_server_version + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_statement_type, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocistatementtype arginfo_oci_statement_type + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_num_rows, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_INFO(0, statement_resource) +ZEND_END_ARG_INFO() + +#define arginfo_ocirowcount arginfo_oci_num_rows + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_free_collection, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocifreecollection arginfo_oci_free_collection + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_collection_append, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocicollappend arginfo_oci_collection_append + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_collection_element_get, 0, 2, MAY_BE_STRING|MAY_BE_DOUBLE|MAY_BE_NULL|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocicollgetelem arginfo_oci_collection_element_get + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_collection_assign, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, collection_to, OCI_Collection, 0) + ZEND_ARG_OBJ_INFO(0, collection_from, OCI_Collection, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_collection_element_assign, 0, 3, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocicollassignelem arginfo_oci_collection_element_assign + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_oci_collection_size, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocicollsize arginfo_oci_collection_size + +#define arginfo_oci_collection_max arginfo_oci_collection_size + +#define arginfo_ocicollmax arginfo_oci_collection_size + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_collection_trim, 0, 2, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, collection, OCI_Collection, 0) + ZEND_ARG_TYPE_INFO(0, number, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocicolltrim arginfo_oci_collection_trim + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_oci_new_collection, 0, 2, OCI_Collection, MAY_BE_FALSE) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_TYPE_INFO(0, type_name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, schema_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_ocinewcollection arginfo_oci_new_collection + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_register_taf_callback, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, connection_resource) + ZEND_ARG_INFO(0, function_name) +ZEND_END_ARG_INFO() + +#define arginfo_oci_unregister_taf_callback arginfo_oci_rollback + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_save, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_import, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_savefile arginfo_class_OCI_Lob_import + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_load, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_read, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_eof arginfo_class_OCI_Lob_load + +#define arginfo_class_OCI_Lob_tell arginfo_class_OCI_Lob_load + +#define arginfo_class_OCI_Lob_rewind arginfo_class_OCI_Lob_load + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_seek, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, whence, IS_LONG, 0, "OCI_SEEK_SET") +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_size arginfo_class_OCI_Lob_load + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_write, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_append, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, lob_descriptor_from, OCI_Lob, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_truncate, 0, 0, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_erase, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_OCI_Lob_flush, 0, 0, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flag, IS_LONG, 0, "0") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_setbuffering, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, mode, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_getbuffering arginfo_class_OCI_Lob_load + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_writetofile, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_export arginfo_class_OCI_Lob_writetofile + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Lob_writetemporary, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "OCI_TEMP_CLOB") +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Lob_close arginfo_class_OCI_Lob_load + +#define arginfo_class_OCI_Lob_free arginfo_class_OCI_Lob_load + +#define arginfo_class_OCI_Collection_free arginfo_class_OCI_Lob_load + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Collection_append, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Collection_getElem, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Collection_assign, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, collection_from, OCI_Collection, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Collection_assignelem, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_class_OCI_Collection_size arginfo_class_OCI_Lob_load + +#define arginfo_class_OCI_Collection_max arginfo_class_OCI_Lob_load + +ZEND_BEGIN_ARG_INFO_EX(arginfo_class_OCI_Collection_trim, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, number, IS_LONG, 0) +ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(oci_define_by_name); +ZEND_FUNCTION(oci_bind_by_name); +ZEND_FUNCTION(oci_bind_array_by_name); +ZEND_FUNCTION(oci_free_descriptor); +ZEND_FUNCTION(oci_lob_save); +ZEND_FUNCTION(oci_lob_import); +ZEND_FUNCTION(oci_lob_load); +ZEND_FUNCTION(oci_lob_read); +ZEND_FUNCTION(oci_lob_eof); +ZEND_FUNCTION(oci_lob_tell); +ZEND_FUNCTION(oci_lob_rewind); +ZEND_FUNCTION(oci_lob_seek); +ZEND_FUNCTION(oci_lob_size); +ZEND_FUNCTION(oci_lob_write); +ZEND_FUNCTION(oci_lob_append); +ZEND_FUNCTION(oci_lob_truncate); +ZEND_FUNCTION(oci_lob_erase); +ZEND_FUNCTION(oci_lob_flush); +ZEND_FUNCTION(ocisetbufferinglob); +ZEND_FUNCTION(ocigetbufferinglob); +ZEND_FUNCTION(oci_lob_copy); +ZEND_FUNCTION(oci_lob_is_equal); +ZEND_FUNCTION(oci_lob_export); +ZEND_FUNCTION(oci_new_descriptor); +ZEND_FUNCTION(oci_rollback); +ZEND_FUNCTION(oci_commit); +ZEND_FUNCTION(oci_field_name); +ZEND_FUNCTION(oci_field_size); +ZEND_FUNCTION(oci_field_scale); +ZEND_FUNCTION(oci_field_precision); +ZEND_FUNCTION(oci_field_type); +ZEND_FUNCTION(oci_field_type_raw); +ZEND_FUNCTION(oci_field_is_null); +ZEND_FUNCTION(oci_internal_debug); +ZEND_FUNCTION(oci_execute); +ZEND_FUNCTION(oci_cancel); +ZEND_FUNCTION(oci_fetch); +ZEND_FUNCTION(ocifetchinto); +ZEND_FUNCTION(oci_fetch_all); +ZEND_FUNCTION(oci_fetch_object); +ZEND_FUNCTION(oci_fetch_row); +ZEND_FUNCTION(oci_fetch_assoc); +ZEND_FUNCTION(oci_fetch_array); +ZEND_FUNCTION(oci_free_statement); +ZEND_FUNCTION(oci_close); +ZEND_FUNCTION(oci_new_connect); +ZEND_FUNCTION(oci_connect); +ZEND_FUNCTION(oci_pconnect); +ZEND_FUNCTION(oci_error); +ZEND_FUNCTION(oci_num_fields); +ZEND_FUNCTION(oci_parse); +ZEND_FUNCTION(oci_get_implicit_resultset); +ZEND_FUNCTION(oci_set_prefetch); +ZEND_FUNCTION(oci_set_client_identifier); +ZEND_FUNCTION(oci_set_edition); +ZEND_FUNCTION(oci_set_module_name); +ZEND_FUNCTION(oci_set_action); +ZEND_FUNCTION(oci_set_client_info); +ZEND_FUNCTION(oci_set_db_operation); +ZEND_FUNCTION(oci_set_call_timeout); +ZEND_FUNCTION(oci_password_change); +ZEND_FUNCTION(oci_new_cursor); +ZEND_FUNCTION(oci_result); +ZEND_FUNCTION(oci_client_version); +ZEND_FUNCTION(oci_server_version); +ZEND_FUNCTION(oci_statement_type); +ZEND_FUNCTION(oci_num_rows); +ZEND_FUNCTION(oci_free_collection); +ZEND_FUNCTION(oci_collection_append); +ZEND_FUNCTION(oci_collection_element_get); +ZEND_FUNCTION(oci_collection_assign); +ZEND_FUNCTION(oci_collection_element_assign); +ZEND_FUNCTION(oci_collection_size); +ZEND_FUNCTION(oci_collection_max); +ZEND_FUNCTION(oci_collection_trim); +ZEND_FUNCTION(oci_new_collection); +ZEND_FUNCTION(oci_register_taf_callback); +ZEND_FUNCTION(oci_unregister_taf_callback); +ZEND_FUNCTION(oci_lob_write_temporary); +ZEND_FUNCTION(oci_lob_close); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(oci_define_by_name, arginfo_oci_define_by_name) + ZEND_DEP_FALIAS(ocidefinebyname, oci_define_by_name, arginfo_ocidefinebyname) + ZEND_FE(oci_bind_by_name, arginfo_oci_bind_by_name) + ZEND_DEP_FALIAS(ocibindbyname, oci_bind_by_name, arginfo_ocibindbyname) + ZEND_FE(oci_bind_array_by_name, arginfo_oci_bind_array_by_name) + ZEND_FE(oci_free_descriptor, arginfo_oci_free_descriptor) + ZEND_DEP_FALIAS(ocifreedesc, oci_free_descriptor, arginfo_ocifreedesc) + ZEND_FE(oci_lob_save, arginfo_oci_lob_save) + ZEND_DEP_FALIAS(ocisavelob, oci_lob_save, arginfo_ocisavelob) + ZEND_FE(oci_lob_import, arginfo_oci_lob_import) + ZEND_DEP_FALIAS(ocisavelobfile, oci_lob_import, arginfo_ocisavelobfile) + ZEND_FE(oci_lob_load, arginfo_oci_lob_load) + ZEND_DEP_FALIAS(ociloadlob, oci_lob_load, arginfo_ociloadlob) + ZEND_FE(oci_lob_read, arginfo_oci_lob_read) + ZEND_FE(oci_lob_eof, arginfo_oci_lob_eof) + ZEND_FE(oci_lob_tell, arginfo_oci_lob_tell) + ZEND_FE(oci_lob_rewind, arginfo_oci_lob_rewind) + ZEND_FE(oci_lob_seek, arginfo_oci_lob_seek) + ZEND_FE(oci_lob_size, arginfo_oci_lob_size) + ZEND_FE(oci_lob_write, arginfo_oci_lob_write) + ZEND_FE(oci_lob_append, arginfo_oci_lob_append) + ZEND_FE(oci_lob_truncate, arginfo_oci_lob_truncate) + ZEND_FE(oci_lob_erase, arginfo_oci_lob_erase) + ZEND_FE(oci_lob_flush, arginfo_oci_lob_flush) + ZEND_FE(ocisetbufferinglob, arginfo_ocisetbufferinglob) + ZEND_FE(ocigetbufferinglob, arginfo_ocigetbufferinglob) + ZEND_FE(oci_lob_copy, arginfo_oci_lob_copy) + ZEND_FE(oci_lob_is_equal, arginfo_oci_lob_is_equal) + ZEND_FE(oci_lob_export, arginfo_oci_lob_export) + ZEND_DEP_FALIAS(ociwritelobtofile, oci_lob_export, arginfo_ociwritelobtofile) + ZEND_FE(oci_new_descriptor, arginfo_oci_new_descriptor) + ZEND_DEP_FALIAS(ocinewdescriptor, oci_new_descriptor, arginfo_ocinewdescriptor) + ZEND_FE(oci_rollback, arginfo_oci_rollback) + ZEND_DEP_FALIAS(ocirollback, oci_rollback, arginfo_ocirollback) + ZEND_FE(oci_commit, arginfo_oci_commit) + ZEND_DEP_FALIAS(ocicommit, oci_commit, arginfo_ocicommit) + ZEND_FE(oci_field_name, arginfo_oci_field_name) + ZEND_DEP_FALIAS(ocicolumnname, oci_field_name, arginfo_ocicolumnname) + ZEND_FE(oci_field_size, arginfo_oci_field_size) + ZEND_DEP_FALIAS(ocicolumnsize, oci_field_size, arginfo_ocicolumnsize) + ZEND_FE(oci_field_scale, arginfo_oci_field_scale) + ZEND_DEP_FALIAS(ocicolumnscale, oci_field_scale, arginfo_ocicolumnscale) + ZEND_FE(oci_field_precision, arginfo_oci_field_precision) + ZEND_DEP_FALIAS(ocicolumnprecision, oci_field_precision, arginfo_ocicolumnprecision) + ZEND_FE(oci_field_type, arginfo_oci_field_type) + ZEND_DEP_FALIAS(ocicolumntype, oci_field_type, arginfo_ocicolumntype) + ZEND_FE(oci_field_type_raw, arginfo_oci_field_type_raw) + ZEND_DEP_FALIAS(ocicolumntyperaw, oci_field_type_raw, arginfo_ocicolumntyperaw) + ZEND_FE(oci_field_is_null, arginfo_oci_field_is_null) + ZEND_DEP_FALIAS(ocicolumnisnull, oci_field_is_null, arginfo_ocicolumnisnull) + ZEND_FE(oci_internal_debug, arginfo_oci_internal_debug) + ZEND_DEP_FALIAS(ociinternaldebug, oci_internal_debug, arginfo_ociinternaldebug) + ZEND_FE(oci_execute, arginfo_oci_execute) + ZEND_DEP_FALIAS(ociexecute, oci_execute, arginfo_ociexecute) + ZEND_FE(oci_cancel, arginfo_oci_cancel) + ZEND_DEP_FALIAS(ocicancel, oci_cancel, arginfo_ocicancel) + ZEND_FE(oci_fetch, arginfo_oci_fetch) + ZEND_DEP_FALIAS(ocifetch, oci_fetch, arginfo_ocifetch) + ZEND_FE(ocifetchinto, arginfo_ocifetchinto) + ZEND_FE(oci_fetch_all, arginfo_oci_fetch_all) + ZEND_DEP_FALIAS(ocifetchstatement, oci_fetch_all, arginfo_ocifetchstatement) + ZEND_FE(oci_fetch_object, arginfo_oci_fetch_object) + ZEND_FE(oci_fetch_row, arginfo_oci_fetch_row) + ZEND_FE(oci_fetch_assoc, arginfo_oci_fetch_assoc) + ZEND_FE(oci_fetch_array, arginfo_oci_fetch_array) + ZEND_FE(oci_free_statement, arginfo_oci_free_statement) + ZEND_DEP_FALIAS(ocifreestatement, oci_free_statement, arginfo_ocifreestatement) + ZEND_FALIAS(oci_free_cursor, oci_free_statement, arginfo_oci_free_cursor) + ZEND_DEP_FALIAS(ocifreecursor, oci_free_statement, arginfo_ocifreecursor) + ZEND_FE(oci_close, arginfo_oci_close) + ZEND_DEP_FALIAS(ocilogoff, oci_close, arginfo_ocilogoff) + ZEND_FE(oci_new_connect, arginfo_oci_new_connect) + ZEND_DEP_FALIAS(ocinlogon, oci_new_connect, arginfo_ocinlogon) + ZEND_FE(oci_connect, arginfo_oci_connect) + ZEND_DEP_FALIAS(ocilogon, oci_connect, arginfo_ocilogon) + ZEND_FE(oci_pconnect, arginfo_oci_pconnect) + ZEND_DEP_FALIAS(ociplogon, oci_pconnect, arginfo_ociplogon) + ZEND_FE(oci_error, arginfo_oci_error) + ZEND_DEP_FALIAS(ocierror, oci_error, arginfo_ocierror) + ZEND_FE(oci_num_fields, arginfo_oci_num_fields) + ZEND_DEP_FALIAS(ocinumcols, oci_num_fields, arginfo_ocinumcols) + ZEND_FE(oci_parse, arginfo_oci_parse) + ZEND_DEP_FALIAS(ociparse, oci_parse, arginfo_ociparse) + ZEND_FE(oci_get_implicit_resultset, arginfo_oci_get_implicit_resultset) + ZEND_FE(oci_set_prefetch, arginfo_oci_set_prefetch) + ZEND_DEP_FALIAS(ocisetprefetch, oci_set_prefetch, arginfo_ocisetprefetch) + ZEND_FE(oci_set_client_identifier, arginfo_oci_set_client_identifier) + ZEND_FE(oci_set_edition, arginfo_oci_set_edition) + ZEND_FE(oci_set_module_name, arginfo_oci_set_module_name) + ZEND_FE(oci_set_action, arginfo_oci_set_action) + ZEND_FE(oci_set_client_info, arginfo_oci_set_client_info) + ZEND_FE(oci_set_db_operation, arginfo_oci_set_db_operation) + ZEND_FE(oci_set_call_timeout, arginfo_oci_set_call_timeout) + ZEND_FE(oci_password_change, arginfo_oci_password_change) + ZEND_DEP_FALIAS(ocipasswordchange, oci_password_change, arginfo_ocipasswordchange) + ZEND_FE(oci_new_cursor, arginfo_oci_new_cursor) + ZEND_DEP_FALIAS(ocinewcursor, oci_new_cursor, arginfo_ocinewcursor) + ZEND_FE(oci_result, arginfo_oci_result) + ZEND_DEP_FALIAS(ociresult, oci_result, arginfo_ociresult) + ZEND_FE(oci_client_version, arginfo_oci_client_version) + ZEND_FE(oci_server_version, arginfo_oci_server_version) + ZEND_DEP_FALIAS(ociserverversion, oci_server_version, arginfo_ociserverversion) + ZEND_FE(oci_statement_type, arginfo_oci_statement_type) + ZEND_DEP_FALIAS(ocistatementtype, oci_statement_type, arginfo_ocistatementtype) + ZEND_FE(oci_num_rows, arginfo_oci_num_rows) + ZEND_DEP_FALIAS(ocirowcount, oci_num_rows, arginfo_ocirowcount) + ZEND_FE(oci_free_collection, arginfo_oci_free_collection) + ZEND_DEP_FALIAS(ocifreecollection, oci_free_collection, arginfo_ocifreecollection) + ZEND_FE(oci_collection_append, arginfo_oci_collection_append) + ZEND_DEP_FALIAS(ocicollappend, oci_collection_append, arginfo_ocicollappend) + ZEND_FE(oci_collection_element_get, arginfo_oci_collection_element_get) + ZEND_DEP_FALIAS(ocicollgetelem, oci_collection_element_get, arginfo_ocicollgetelem) + ZEND_FE(oci_collection_assign, arginfo_oci_collection_assign) + ZEND_FE(oci_collection_element_assign, arginfo_oci_collection_element_assign) + ZEND_DEP_FALIAS(ocicollassignelem, oci_collection_element_assign, arginfo_ocicollassignelem) + ZEND_FE(oci_collection_size, arginfo_oci_collection_size) + ZEND_DEP_FALIAS(ocicollsize, oci_collection_size, arginfo_ocicollsize) + ZEND_FE(oci_collection_max, arginfo_oci_collection_max) + ZEND_DEP_FALIAS(ocicollmax, oci_collection_max, arginfo_ocicollmax) + ZEND_FE(oci_collection_trim, arginfo_oci_collection_trim) + ZEND_DEP_FALIAS(ocicolltrim, oci_collection_trim, arginfo_ocicolltrim) + ZEND_FE(oci_new_collection, arginfo_oci_new_collection) + ZEND_DEP_FALIAS(ocinewcollection, oci_new_collection, arginfo_ocinewcollection) + ZEND_FE(oci_register_taf_callback, arginfo_oci_register_taf_callback) + ZEND_FE(oci_unregister_taf_callback, arginfo_oci_unregister_taf_callback) + ZEND_FE_END +}; + + +static const zend_function_entry class_OCI_Lob_methods[] = { + ZEND_ME_MAPPING(save, oci_lob_save, arginfo_class_OCI_Lob_save, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(import, oci_lob_import, arginfo_class_OCI_Lob_import, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(savefile, oci_lob_import, arginfo_class_OCI_Lob_savefile, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(load, oci_lob_load, arginfo_class_OCI_Lob_load, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(read, oci_lob_read, arginfo_class_OCI_Lob_read, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(eof, oci_lob_eof, arginfo_class_OCI_Lob_eof, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(tell, oci_lob_tell, arginfo_class_OCI_Lob_tell, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(rewind, oci_lob_rewind, arginfo_class_OCI_Lob_rewind, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(seek, oci_lob_seek, arginfo_class_OCI_Lob_seek, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(size, oci_lob_size, arginfo_class_OCI_Lob_size, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(write, oci_lob_write, arginfo_class_OCI_Lob_write, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(append, oci_lob_append, arginfo_class_OCI_Lob_append, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(truncate, oci_lob_truncate, arginfo_class_OCI_Lob_truncate, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(erase, oci_lob_erase, arginfo_class_OCI_Lob_erase, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(flush, oci_lob_flush, arginfo_class_OCI_Lob_flush, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(setbuffering, ocisetbufferinglob, arginfo_class_OCI_Lob_setbuffering, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(getbuffering, ocigetbufferinglob, arginfo_class_OCI_Lob_getbuffering, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(writetofile, oci_lob_export, arginfo_class_OCI_Lob_writetofile, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(export, oci_lob_export, arginfo_class_OCI_Lob_export, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(writetemporary, oci_lob_write_temporary, arginfo_class_OCI_Lob_writetemporary, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(close, oci_lob_close, arginfo_class_OCI_Lob_close, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(free, oci_free_descriptor, arginfo_class_OCI_Lob_free, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; + + +static const zend_function_entry class_OCI_Collection_methods[] = { + ZEND_ME_MAPPING(free, oci_free_collection, arginfo_class_OCI_Collection_free, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(append, oci_collection_append, arginfo_class_OCI_Collection_append, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(getElem, oci_collection_element_get, arginfo_class_OCI_Collection_getElem, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(assign, oci_collection_assign, arginfo_class_OCI_Collection_assign, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(assignelem, oci_collection_element_assign, arginfo_class_OCI_Collection_assignelem, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(size, oci_collection_size, arginfo_class_OCI_Collection_size, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(max, oci_collection_max, arginfo_class_OCI_Collection_max, ZEND_ACC_PUBLIC) + ZEND_ME_MAPPING(trim, oci_collection_trim, arginfo_class_OCI_Collection_trim, ZEND_ACC_PUBLIC) + ZEND_FE_END +}; diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c index 296c4f89e5..a822514432 100644 --- a/ext/oci8/oci8_interface.c +++ b/ext/oci8/oci8_interface.c @@ -1805,7 +1805,6 @@ PHP_FUNCTION(oci_set_client_identifier) Sets the edition attribute for all subsequent connections created */ PHP_FUNCTION(oci_set_edition) { -#if ((OCI_MAJOR_VERSION > 11) || ((OCI_MAJOR_VERSION == 11) && (OCI_MINOR_VERSION >= 2))) char *edition; size_t edition_len; @@ -1813,6 +1812,7 @@ PHP_FUNCTION(oci_set_edition) Z_PARAM_STRING(edition, edition_len) ZEND_PARSE_PARAMETERS_END(); +#if ((OCI_MAJOR_VERSION > 11) || ((OCI_MAJOR_VERSION == 11) && (OCI_MINOR_VERSION >= 2))) if (OCI_G(edition)) { efree(OCI_G(edition)); } @@ -1837,18 +1837,20 @@ PHP_FUNCTION(oci_set_edition) Sets the module attribute on the connection for end-to-end tracing */ PHP_FUNCTION(oci_set_module_name) { -#if (OCI_MAJOR_VERSION >= 10) zval *z_connection; - php_oci_connection *connection; char *module; size_t module_len; - sword errstatus; ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_RESOURCE(z_connection) Z_PARAM_STRING(module, module_len) ZEND_PARSE_PARAMETERS_END(); +#if (OCI_MAJOR_VERSION >= 10) + + php_oci_connection *connection; + sword errstatus; + PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_CALL_RETURN(errstatus, OCIAttrSet, ((dvoid *) connection->session, (ub4) OCI_HTYPE_SESSION, (dvoid *) module, (ub4) module_len, (ub4) OCI_ATTR_MODULE, connection->err)); @@ -1870,18 +1872,20 @@ PHP_FUNCTION(oci_set_module_name) Sets the action attribute on the connection for end-to-end tracing */ PHP_FUNCTION(oci_set_action) { -#if (OCI_MAJOR_VERSION >= 10) zval *z_connection; - php_oci_connection *connection; char *action; size_t action_len; - sword errstatus; ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_RESOURCE(z_connection) Z_PARAM_STRING(action, action_len) ZEND_PARSE_PARAMETERS_END(); +#if (OCI_MAJOR_VERSION >= 10) + + php_oci_connection *connection; + sword errstatus; + PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_CALL_RETURN(errstatus, OCIAttrSet, ((dvoid *) connection->session, (ub4) OCI_HTYPE_SESSION, (dvoid *) action, (ub4) action_len, (ub4) OCI_ATTR_ACTION, connection->err)); @@ -1903,18 +1907,20 @@ PHP_FUNCTION(oci_set_action) Sets the client info attribute on the connection for end-to-end tracing */ PHP_FUNCTION(oci_set_client_info) { -#if (OCI_MAJOR_VERSION >= 10) zval *z_connection; - php_oci_connection *connection; char *client_info; size_t client_info_len; - sword errstatus; ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_RESOURCE(z_connection) Z_PARAM_STRING(client_info, client_info_len) ZEND_PARSE_PARAMETERS_END(); +#if (OCI_MAJOR_VERSION >= 10) + + php_oci_connection *connection; + sword errstatus; + PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_CALL_RETURN(errstatus, OCIAttrSet, ((dvoid *) connection->session, (ub4) OCI_HTYPE_SESSION, (dvoid *) client_info, (ub4) client_info_len, (ub4) OCI_ATTR_CLIENT_INFO, connection->err)); @@ -1937,9 +1943,7 @@ PHP_FUNCTION(oci_set_client_info) For history, see Oracle bug 16695981 */ PHP_FUNCTION(oci_set_db_operation) { -#if (OCI_MAJOR_VERSION > 11) zval *z_connection; - php_oci_connection *connection; char *dbop_name; size_t dbop_name_len; @@ -1948,6 +1952,9 @@ PHP_FUNCTION(oci_set_db_operation) Z_PARAM_STRING(dbop_name, dbop_name_len) ZEND_PARSE_PARAMETERS_END(); +#if (OCI_MAJOR_VERSION > 11) + php_oci_connection *connection; + PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_CALL_RETURN(OCI_G(errcode), OCIAttrSet, ((dvoid *) connection->session, (ub4) OCI_HTYPE_SESSION, (dvoid *) dbop_name, (ub4) dbop_name_len, (ub4) OCI_ATTR_DBOP, OCI_G(err))); @@ -1968,9 +1975,7 @@ PHP_FUNCTION(oci_set_db_operation) */ PHP_FUNCTION(oci_set_call_timeout) { -#if (OCI_MAJOR_VERSION >= 18) zval *z_connection; - php_oci_connection *connection; zend_long call_timeout; // milliseconds ZEND_PARSE_PARAMETERS_START(2, 2) @@ -1978,6 +1983,9 @@ PHP_FUNCTION(oci_set_call_timeout) Z_PARAM_LONG(call_timeout) ZEND_PARSE_PARAMETERS_END(); +#if (OCI_MAJOR_VERSION >= 18) + php_oci_connection *connection; + PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_CALL_RETURN(OCI_G(errcode), OCIAttrSet, ((dvoid *) connection->svc, (ub4) OCI_HTYPE_SVCCTX, (ub4 *) &call_timeout, 0, OCI_ATTR_CALL_TIMEOUT, OCI_G(err))); @@ -2092,6 +2100,7 @@ PHP_FUNCTION(oci_result) PHP_FUNCTION(oci_client_version) { char version[256]; + ZEND_PARSE_PARAMETERS_NONE(); php_oci_client_get_version(version, sizeof(version)); RETURN_STRING(version); diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c index 9eb0f15efb..c64fb35083 100644 --- a/ext/oci8/oci8_statement.c +++ b/ext/oci8/oci8_statement.c @@ -1516,13 +1516,16 @@ sb4 php_oci_bind_out_callback( Helper function to get column by name and index */ php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS, int need_data) { - zval *z_statement, *column_index; + zval *z_statement; + zend_string *column_index_string; + zend_long column_index_int; + php_oci_statement *statement; php_oci_out_column *column; ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_RESOURCE(z_statement) - Z_PARAM_ZVAL(column_index) + Z_PARAM_STR_OR_LONG(column_index_string, column_index_int) ZEND_PARSE_PARAMETERS_END_EX(return NULL); statement = (php_oci_statement *) zend_fetch_resource_ex(z_statement, "oci8 statement", le_statement); @@ -1535,19 +1538,17 @@ php_oci_out_column *php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAME return NULL; } - if (Z_TYPE_P(column_index) == IS_STRING) { - column = php_oci_statement_get_column(statement, -1, Z_STRVAL_P(column_index), (int) Z_STRLEN_P(column_index)); + if (column_index_string != NULL) { + column = php_oci_statement_get_column(statement, -1, ZSTR_VAL(column_index_string), (int) ZSTR_LEN(column_index_string)); if (!column) { - php_error_docref(NULL, E_WARNING, "Invalid column name \"%s\"", Z_STRVAL_P(column_index)); + php_error_docref(NULL, E_WARNING, "Invalid column name \"%s\"", ZSTR_VAL(column_index_string)); return NULL; } } else { - zend_long tmp; + column = php_oci_statement_get_column(statement, column_index_int, NULL, 0); - tmp = zval_get_long(column_index); - column = php_oci_statement_get_column(statement, tmp, NULL, 0); if (!column) { - php_error_docref(NULL, E_WARNING, "Invalid column index \"" ZEND_LONG_FMT "\"", tmp); + php_error_docref(NULL, E_WARNING, "Invalid column index \"" ZEND_LONG_FMT "\"", column_index_int); return NULL; } } |
