diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-04-26 00:32:51 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-26 00:32:51 +0400 |
| commit | f9927a6c97208c60d922f9a4e98feb8079c57d1f (patch) | |
| tree | 35815b69d1bf7d47fb41e857ff8d2b024ddac153 /ext/oci8 | |
| parent | 4e7cbf3f5842abe6688c11ce3cc11d2eabf0695f (diff) | |
| parent | b82d077f988606580e5c06a9da18fe4f60ddb7cb (diff) | |
| download | php-git-f9927a6c97208c60d922f9a4e98feb8079c57d1f.tar.gz | |
Merge mainstream 'master' branch into refactoring
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)
Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c
Diffstat (limited to 'ext/oci8')
35 files changed, 459 insertions, 153 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index c3ca7a8172..74e302c766 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -26,8 +26,6 @@ +----------------------------------------------------------------------+ */ -/* $Id$ */ - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -292,7 +290,7 @@ 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) + ZEND_ARG_INFO(0, column_number_or_name) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_field_size, 0, 0, 2) @@ -302,22 +300,22 @@ 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) + 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) + 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) + 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) + 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) @@ -1251,6 +1249,9 @@ PHP_MINIT_FUNCTION(oci) REGISTER_LONG_CONSTANT("SQLT_BDOUBLE",SQLT_BDOUBLE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SQLT_BFLOAT",SQLT_BFLOAT, CONST_CS | CONST_PERSISTENT); #endif +#if defined(OCI_MAJOR_VERSION) && OCI_MAJOR_VERSION >= 12 + REGISTER_LONG_CONSTANT("SQLT_BOL",SQLT_BOL, CONST_CS | CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("OCI_B_NTY",SQLT_NTY, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SQLT_NTY",SQLT_NTY, CONST_CS | CONST_PERSISTENT); @@ -1265,6 +1266,9 @@ PHP_MINIT_FUNCTION(oci) REGISTER_LONG_CONSTANT("OCI_B_BIN",SQLT_BIN, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("OCI_B_INT",SQLT_INT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("OCI_B_NUM",SQLT_NUM, CONST_CS | CONST_PERSISTENT); +#if defined(OCI_MAJOR_VERSION) && OCI_MAJOR_VERSION >= 12 + REGISTER_LONG_CONSTANT("OCI_B_BOL",SQLT_BOL, CONST_CS | CONST_PERSISTENT); +#endif /* for OCIFetchStatement */ REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_COLUMN", PHP_OCI_FETCHSTATEMENT_BY_COLUMN, CONST_CS | CONST_PERSISTENT); @@ -2574,7 +2578,11 @@ int php_oci_column_to_zval(php_oci_out_column *column, zval *value, int mode TSR if (column->data_type != SQLT_RDD && (mode & PHP_OCI_RETURN_LOBS)) { /* PHP_OCI_RETURN_LOBS means that we want the content of the LOB back instead of the locator */ + if (column->chunk_size) + descriptor->chunk_size = column->chunk_size; lob_fetch_status = php_oci_lob_read(descriptor, -1, 0, &lob_buffer, &lob_length TSRMLS_CC); + if (descriptor->chunk_size) /* Cache the chunk_size to avoid recalling OCILobGetChunkSize */ + column->chunk_size = descriptor->chunk_size; php_oci_temp_lob_close(descriptor TSRMLS_CC); if (lob_fetch_status) { ZVAL_FALSE(value); diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c index 06e9def575..198493b946 100644 --- a/ext/oci8/oci8_interface.c +++ b/ext/oci8/oci8_interface.c @@ -1139,7 +1139,7 @@ PHP_FUNCTION(oci_commit) } /* }}} */ -/* {{{ proto string oci_field_name(resource stmt, int col) +/* {{{ proto string oci_field_name(resource stmt, mixed col) Tell the name of a column */ PHP_FUNCTION(oci_field_name) { @@ -1152,7 +1152,7 @@ PHP_FUNCTION(oci_field_name) } /* }}} */ -/* {{{ proto int oci_field_size(resource stmt, int col) +/* {{{ proto int oci_field_size(resource stmt, mixed col) Tell the maximum data size of a column */ PHP_FUNCTION(oci_field_size) { @@ -1169,7 +1169,7 @@ PHP_FUNCTION(oci_field_size) } /* }}} */ -/* {{{ proto int oci_field_scale(resource stmt, int col) +/* {{{ proto int oci_field_scale(resource stmt, mixed col) Tell the scale of a column */ PHP_FUNCTION(oci_field_scale) { @@ -1182,7 +1182,7 @@ PHP_FUNCTION(oci_field_scale) } /* }}} */ -/* {{{ proto int oci_field_precision(resource stmt, int col) +/* {{{ proto int oci_field_precision(resource stmt, mixed col) Tell the precision of a column */ PHP_FUNCTION(oci_field_precision) { @@ -1195,7 +1195,7 @@ PHP_FUNCTION(oci_field_precision) } /* }}} */ -/* {{{ proto mixed oci_field_type(resource stmt, int col) +/* {{{ proto mixed oci_field_type(resource stmt, mixed col) Tell the data type of a column */ PHP_FUNCTION(oci_field_type) { @@ -1275,7 +1275,7 @@ PHP_FUNCTION(oci_field_type) } /* }}} */ -/* {{{ proto int oci_field_type_raw(resource stmt, int col) +/* {{{ proto int oci_field_type_raw(resource stmt, mixed col) Tell the raw oracle data type of a column */ PHP_FUNCTION(oci_field_type_raw) { @@ -1289,8 +1289,8 @@ PHP_FUNCTION(oci_field_type_raw) } /* }}} */ -/* {{{ proto bool oci_field_is_null(resource stmt, int col) - Tell whether a column is NULL */ +/* {{{ proto bool oci_field_is_null(resource stmt, mixed col) + Tell whether a field in the current row is NULL */ PHP_FUNCTION(oci_field_is_null) { php_oci_out_column *column; diff --git a/ext/oci8/oci8_lob.c b/ext/oci8/oci8_lob.c index 4587e4ccc7..4982d0f88f 100644 --- a/ext/oci8/oci8_lob.c +++ b/ext/oci8/oci8_lob.c @@ -92,6 +92,7 @@ php_oci_descriptor *php_oci_lob_create (php_oci_connection *connection, long typ descriptor->charset_form = SQLCS_IMPLICIT; /* default value */ descriptor->charset_id = connection->charset; descriptor->is_open = 0; + descriptor->chunk_size = 0; if (descriptor->type == OCI_DTYPE_LOB || descriptor->type == OCI_DTYPE_FILE) { /* add Lobs & Files to hash. we'll flush them at the end */ diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c index f8349cdc99..f9d2a3a0ff 100644 --- a/ext/oci8/oci8_statement.c +++ b/ext/oci8/oci8_statement.c @@ -713,6 +713,7 @@ int php_oci_statement_execute(php_oci_statement *statement, ub4 mode TSRMLS_DC) outcol->is_descr = 1; outcol->statement->has_descr = 1; outcol->storage_size4 = -1; + outcol->chunk_size = 0; dynamic = OCI_DYNAMIC_FETCH; break; @@ -928,19 +929,16 @@ int php_oci_bind_pre_exec(void *data, void *result TSRMLS_DC) } break; + case SQLT_CHR: + case SQLT_AFC: case SQLT_INT: case SQLT_NUM: - if (Z_TYPE_P(bind->zval) == IS_RESOURCE || Z_TYPE_P(bind->zval) == IS_OBJECT) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid variable used for bind"); - *(int *)result = 1; - } - break; - +#if defined(OCI_MAJOR_VERSION) && OCI_MAJOR_VERSION >= 12 + case SQLT_BOL: +#endif case SQLT_LBI: case SQLT_BIN: case SQLT_LNG: - case SQLT_AFC: - case SQLT_CHR: if (Z_TYPE_P(bind->zval) == IS_RESOURCE || Z_TYPE_P(bind->zval) == IS_OBJECT) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid variable used for bind"); *(int *)result = 1; @@ -955,7 +953,7 @@ int php_oci_bind_pre_exec(void *data, void *result TSRMLS_DC) break; } - /* reset all bind stuff to a normal state..-. */ + /* reset all bind stuff to a normal state... */ bind->indicator = 0; return 0; @@ -1185,6 +1183,20 @@ int php_oci_bind_by_name(php_oci_statement *statement, char *name, int name_len, } break; +#if defined(OCI_MAJOR_VERSION) && OCI_MAJOR_VERSION >= 12 + case SQLT_BOL: + if (Z_TYPE_P(var) == IS_RESOURCE || Z_TYPE_P(var) == IS_OBJECT) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid variable used for bind"); + return 1; + } + convert_to_boolean(var); + bind_data = (int *)&Z_LVAL_P(var); + value_sz = sizeof(int); + + mode = OCI_DEFAULT; + break; +#endif + default: php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown or unsupported datatype given: %d", (int)type); return 1; diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml index 8e55b9abd5..e5839f1399 100644 --- a/ext/oci8/package.xml +++ b/ext/oci8/package.xml @@ -45,12 +45,12 @@ libraries are available. <active>no</active> </lead> - <date>2013-10-22</date> + <date>2014-03-19</date> <time>12:00:00</time> <version> - <release>2.0.7</release> - <api>2.0.7</api> + <release>2.0.9</release> + <api>2.0.9</api> </version> <stability> <release>stable</release> @@ -58,7 +58,7 @@ libraries are available. </stability> <license uri="http://www.php.net/license">PHP</license> <notes> - Build change: Fix source variable definition for C89 compatibility +Fixed oci_field_* reflection: $field can be a column name or index </notes> <contents> <dir name="/"> @@ -91,6 +91,7 @@ libraries are available. <file name="b47243_1.phpt" role="test" /> <file name="b47243_2.phpt" role="test" /> <file name="b47243_3.phpt" role="test" /> + <file name="bind_boolean_1.phpt" role="test" /> <file name="bind_char_1_11gR1.phpt" role="test" /> <file name="bind_char_1.phpt" role="test" /> <file name="bind_char_2_11gR1.phpt" role="test" /> @@ -268,6 +269,8 @@ libraries are available. <file name="error2.phpt" role="test" /> <file name="error3.phpt" role="test" /> <file name="error_bind.phpt" role="test" /> + <file name="error_bind_2.phpt" role="test" /> + <file name="error_bind_3.phpt" role="test" /> <file name="error_old.phpt" role="test" /> <file name="error_parse.phpt" role="test" /> <file name="error.phpt" role="test" /> @@ -429,6 +432,7 @@ libraries are available. <file name="config.m4" role="src" /> <file name="config.w32" role="src" /> <file name="CREDITS" role="doc" /> + <file name="LICENSE" role="doc" /> <file name="oci8.c" role="src" /> <file name="oci8_dtrace.d" role="src" /> <file name="oci8_collection.c" role="src" /> @@ -458,6 +462,37 @@ libraries are available. <changelog> <release> + <version> + <release>2.0.8</release> + <api>2.0.8</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://www.php.net/license">PHP</license> + <notes> +Enhancement - Improve performance of multi-row OCI_RETURN_LOB queries (Bug #66875) + </notes> + </release> + +<release> + <version> + <release>2.0.7</release> + <api>2.0.7</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://www.php.net/license">PHP</license> + <notes> +Added oci_bind_by_name() support for PL/SQL BOOLEAN type +Build change: Fix source variable definition for C89 compatibility + </notes> +</release> + +<release> <version> <release>2.0.6</release> <api>2.0.6</api> diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h index 63924eca01..066812edad 100644 --- a/ext/oci8/php_oci8.h +++ b/ext/oci8/php_oci8.h @@ -45,7 +45,7 @@ */ #undef PHP_OCI8_VERSION #endif -#define PHP_OCI8_VERSION "2.0.7-dev" +#define PHP_OCI8_VERSION "2.0.9" extern zend_module_entry oci8_module_entry; #define phpext_oci8_ptr &oci8_module_entry diff --git a/ext/oci8/php_oci8_int.h b/ext/oci8/php_oci8_int.h index 9dc9814a47..b9d546726f 100644 --- a/ext/oci8/php_oci8_int.h +++ b/ext/oci8/php_oci8_int.h @@ -219,7 +219,7 @@ typedef struct { sb4 errcode; /* last ORA- error number */ OCIError *err; /* private error handle */ OCIStmt *stmt; /* statement handle */ - char *last_query; /* last query issued. also used to determine if this is a statement or a refcursor recieved from Oracle */ + char *last_query; /* last query issued. also used to determine if this is a statement or a refcursor received from Oracle */ char impres_flag; /* PHP_OCI_IMPRES_*_ */ long last_query_len; /* last query length */ HashTable *columns; /* hash containing all the result columns */ @@ -283,6 +283,7 @@ typedef struct { sb2 precision; /* column precision */ ub1 charset_form; /* charset form, required for NCLOBs */ ub2 charset_id; /* charset ID */ + ub4 chunk_size; /* LOB chunk size */ } php_oci_out_column; /* }}} */ diff --git a/ext/oci8/tests/array_bind_001.phpt b/ext/oci8/tests/array_bind_001.phpt index 6a3746c2d5..0c1644152c 100644 --- a/ext/oci8/tests/array_bind_001.phpt +++ b/ext/oci8/tests/array_bind_001.phpt @@ -16,15 +16,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_001_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_001_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_001_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -42,11 +42,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_001_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_001_pkg.iobind(:c1); END;"); $array = ""; diff --git a/ext/oci8/tests/array_bind_002.phpt b/ext/oci8/tests/array_bind_002.phpt index 82b57dc731..d2b520c78e 100644 --- a/ext/oci8/tests/array_bind_002.phpt +++ b/ext/oci8/tests/array_bind_002.phpt @@ -16,15 +16,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_002_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_002_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_002_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -42,11 +42,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_002_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_002_pkg.iobind(:c1); END;"); $array = Array("06-DEC-05","10-DEC-80","21-AUG-91","26-OCT-17","05-NOV-05"); diff --git a/ext/oci8/tests/array_bind_003.phpt b/ext/oci8/tests/array_bind_003.phpt index 0875c694f5..eee1500202 100644 --- a/ext/oci8/tests/array_bind_003.phpt +++ b/ext/oci8/tests/array_bind_003.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_003_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_003_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_003_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_003_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_003_pkg.iobind(:c1); END;"); $array = Array("06-DEC-05","10-DEC-80","21-AUG-91","26-OCT-17"); @@ -63,7 +63,7 @@ echo "Done\n"; ?> --EXPECTF-- Warning: oci_execute(): ORA-01403: %s -ORA-06512: at "SYSTEM.ARRAYBINDPKG1", line %d +ORA-06512: at "SYSTEM.ARRAY_BIND_003_PKG", line %d ORA-06512: at line %d in %sarray_bind_003.php on line %d array(4) { [0]=> diff --git a/ext/oci8/tests/array_bind_004.phpt b/ext/oci8/tests/array_bind_004.phpt index df74025d70..a998a2225b 100644 --- a/ext/oci8/tests/array_bind_004.phpt +++ b/ext/oci8/tests/array_bind_004.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_004_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_004_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_004_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_004_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_004_pkg.iobind(:c1); END;"); $array = Array(); @@ -63,7 +63,7 @@ echo "Done\n"; ?> --EXPECTF-- Warning: oci_execute(): ORA-01403: %s -ORA-06512: at "SYSTEM.ARRAYBINDPKG1", line %d +ORA-06512: at "SYSTEM.ARRAY_BIND_004_PKG", line %d ORA-06512: at line %d in %sarray_bind_004.php on line %d array(0) { } diff --git a/ext/oci8/tests/array_bind_005.phpt b/ext/oci8/tests/array_bind_005.phpt index eaa3c4ea2e..4a73e0ffc8 100644 --- a/ext/oci8/tests/array_bind_005.phpt +++ b/ext/oci8/tests/array_bind_005.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_005_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_005_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_005_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_005_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_005_pkg.iobind(:c1); END;"); $array = Array("", "", "", "", ""); diff --git a/ext/oci8/tests/array_bind_006.phpt b/ext/oci8/tests/array_bind_006.phpt index f13aca3997..cc24c2bd80 100644 --- a/ext/oci8/tests/array_bind_006.phpt +++ b/ext/oci8/tests/array_bind_006.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_006_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_006_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_006_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_006_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_006_pkg.iobind(:c1); END;"); $array = array("one", "two", "three", "four", "five"); diff --git a/ext/oci8/tests/array_bind_007.phpt b/ext/oci8/tests/array_bind_007.phpt index c926bc0abd..6c9101b685 100644 --- a/ext/oci8/tests/array_bind_007.phpt +++ b/ext/oci8/tests/array_bind_007.phpt @@ -16,15 +16,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_007_PKG AS TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_007_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_007_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -42,11 +42,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_007_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_007_pkg.iobind(:c1); END;"); $array = Array(1,2,3,4,5); diff --git a/ext/oci8/tests/array_bind_008.phpt b/ext/oci8/tests/array_bind_008.phpt index df2c35ccb2..393316c22b 100644 --- a/ext/oci8/tests/array_bind_008.phpt +++ b/ext/oci8/tests/array_bind_008.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_008_PKG AS TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_008_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_008_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_008_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_008_pkg.iobind(:c1); END;"); $array = Array(1,2,3,4,5); diff --git a/ext/oci8/tests/array_bind_011.phpt b/ext/oci8/tests/array_bind_011.phpt index 9f43d1ac9c..4c27bd06e2 100644 --- a/ext/oci8/tests/array_bind_011.phpt +++ b/ext/oci8/tests/array_bind_011.phpt @@ -16,15 +16,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_011_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_011_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_011_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -42,11 +42,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_011_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_011_pkg.iobind(:c1); END;"); $array = array(); diff --git a/ext/oci8/tests/array_bind_014.phpt b/ext/oci8/tests/array_bind_014.phpt index 9ab0236359..8d9a21b697 100644 --- a/ext/oci8/tests/array_bind_014.phpt +++ b/ext/oci8/tests/array_bind_014.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_014_PKG AS TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_014_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_014_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -42,7 +42,7 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_014_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); @@ -51,7 +51,7 @@ for ($i = 1; $i < 6; $i++) { oci_execute($statement); } -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_014_pkg.iobind(:c1); END;"); $array = Array(); oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_INT); oci_execute($statement); diff --git a/ext/oci8/tests/array_bind_bdouble.phpt b/ext/oci8/tests/array_bind_bdouble.phpt index fb173654bf..ba8ffe978e 100644 --- a/ext/oci8/tests/array_bind_bdouble.phpt +++ b/ext/oci8/tests/array_bind_bdouble.phpt @@ -11,7 +11,7 @@ if (!defined('SQLT_BDOUBLE')) die('skip SQLT_BDOUBLE type not available on older require dirname(__FILE__).'/connect.inc'; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_bdouble_pkg.iobind(:c1); END;"); $array = Array(1.243,2.5658,3.4234,4.2123,5.9999); oci_bind_array_by_name($statement, ":c1", $array, 5, 5, SQLT_BDOUBLE); diff --git a/ext/oci8/tests/array_bind_bfloat.phpt b/ext/oci8/tests/array_bind_bfloat.phpt index fdd43958cd..afbcce38dc 100644 --- a/ext/oci8/tests/array_bind_bfloat.phpt +++ b/ext/oci8/tests/array_bind_bfloat.phpt @@ -11,7 +11,7 @@ if (!defined('SQLT_BFLOAT')) die('skip SQLT_BFLOAT type not available on older O require dirname(__FILE__).'/connect.inc'; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_bfloat_pkg.iobind(:c1); END;"); $array = Array(1.243,2.5658,3.4234,4.2123,5.9999); oci_bind_array_by_name($statement, ":c1", $array, 5, 5, SQLT_BFLOAT); diff --git a/ext/oci8/tests/array_bind_date.phpt b/ext/oci8/tests/array_bind_date.phpt index 926d7cfaba..6a077b10b7 100644 --- a/ext/oci8/tests/array_bind_date.phpt +++ b/ext/oci8/tests/array_bind_date.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_DATE_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_DATE_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_DATE_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_DATE_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_date_pkg.iobind(:c1); END;"); $array = Array("06-DEC-05","10-DEC-80","21-AUG-91","26-OCT-17","05-NOV-05"); diff --git a/ext/oci8/tests/array_bind_date1.phpt b/ext/oci8/tests/array_bind_date1.phpt index c8c1f1a5e9..d8ecdb5a40 100644 --- a/ext/oci8/tests/array_bind_date1.phpt +++ b/ext/oci8/tests/array_bind_date1.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_DATE1_PKG AS TYPE ARRTYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_DATE1_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_DATE1_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_DATE1_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_date1_pkg.iobind(:c1); END;"); $array = Array("06-DEC-05","10-DEC-80","21-AUG-91","26-OCT-17","05-NOV-05"); diff --git a/ext/oci8/tests/array_bind_float.phpt b/ext/oci8/tests/array_bind_float.phpt index 5246f63805..b35ca3de0e 100644 --- a/ext/oci8/tests/array_bind_float.phpt +++ b/ext/oci8/tests/array_bind_float.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_FLOAT_PKG AS TYPE ARRTYPE IS TABLE OF FLOAT INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_FLOAT_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_FLOAT_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_FLOAT_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_float_pkg.iobind(:c1); END;"); $array = Array(1.243,2.5658,3.4234,4.2123,5.9999); diff --git a/ext/oci8/tests/array_bind_float1.phpt b/ext/oci8/tests/array_bind_float1.phpt index 53b551f1c1..7f755aa846 100644 --- a/ext/oci8/tests/array_bind_float1.phpt +++ b/ext/oci8/tests/array_bind_float1.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_FLOAT1_PKG AS TYPE ARRTYPE IS TABLE OF FLOAT INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_FLOAT1_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_FLOAT1_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_FLOAT1_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_float1_pkg.iobind(:c1); END;"); $array = Array(1.243,2.5658,3.4234,4.2123,5.9999); diff --git a/ext/oci8/tests/array_bind_int.phpt b/ext/oci8/tests/array_bind_int.phpt index 2f34979f23..e4fc6676d0 100644 --- a/ext/oci8/tests/array_bind_int.phpt +++ b/ext/oci8/tests/array_bind_int.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_INT_PKG AS TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_INT_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_INT_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_INT_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_int_pkg.iobind(:c1); END;"); $array = Array(1,2,3,4,5); diff --git a/ext/oci8/tests/array_bind_int1.phpt b/ext/oci8/tests/array_bind_int1.phpt index 49fea2aa03..6590e2fb3f 100644 --- a/ext/oci8/tests/array_bind_int1.phpt +++ b/ext/oci8/tests/array_bind_int1.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_INT1_PKG AS TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_INT1_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_INT1_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_INT1_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_int1_pkg.iobind(:c1); END;"); $array = Array(1,2,3,4,5); diff --git a/ext/oci8/tests/array_bind_str.phpt b/ext/oci8/tests/array_bind_str.phpt index 87291bd172..84bcb48750 100644 --- a/ext/oci8/tests/array_bind_str.phpt +++ b/ext/oci8/tests/array_bind_str.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_STR_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_STR_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_STR_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_STR_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_str_pkg.iobind(:c1); END;"); $array = Array("one", "two", "three", "four", "five"); diff --git a/ext/oci8/tests/array_bind_str1.phpt b/ext/oci8/tests/array_bind_str1.phpt index 3f60ee8c28..ab35ad79bd 100644 --- a/ext/oci8/tests/array_bind_str1.phpt +++ b/ext/oci8/tests/array_bind_str1.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE ARRAY_BIND_STR1_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END ARRAY_BIND_STR1_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY ARRAY_BIND_STR1_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,11 +45,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END ARRAY_BIND_STR1_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_str1_pkg.iobind(:c1); END;"); $array = Array("one", "two", "three", "four", "five"); diff --git a/ext/oci8/tests/array_bind_uin.phpt b/ext/oci8/tests/array_bind_uin.phpt index 3ce039e0d0..0b9e982590 100644 --- a/ext/oci8/tests/array_bind_uin.phpt +++ b/ext/oci8/tests/array_bind_uin.phpt @@ -10,7 +10,7 @@ require(dirname(__FILE__).'/skipif.inc'); require dirname(__FILE__).'/connect.inc'; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN array_bind_uin_pkg.iobind(:c1); END;"); $array = Array(1.243,2.5658,3.4234,4.2123,5.9999); oci_bind_array_by_name($statement, ":c1", $array, 5, 5, SQLT_UIN); diff --git a/ext/oci8/tests/bind_boolean_1.phpt b/ext/oci8/tests/bind_boolean_1.phpt new file mode 100644 index 0000000000..49ac03c882 --- /dev/null +++ b/ext/oci8/tests/bind_boolean_1.phpt @@ -0,0 +1,138 @@ +--TEST-- +Basic PL/SQL "BOOLEAN" (SQLT_BOL) bind test +--SKIPIF-- +<?php +if (!extension_loaded('oci8')) die ("skip no oci8 extension"); +require(dirname(__FILE__).'/connect.inc'); +preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches); +if (!(isset($matches[0]) && $matches[1] >= 12)) { + die("skip expected output only valid when using Oracle Database 12c or greater"); +} +preg_match('/^[[:digit:]]+/', oci_client_version(), $matches); +if (!(isset($matches[0]) && $matches[0] >= 12)) { + die("skip works only with Oracle 12c or greater version of Oracle client libraries"); +} +?> +--FILE-- +<?php + +require(dirname(__FILE__).'/connect.inc'); + +// Run Test + +echo "Test 1\n"; + +$sql = "begin + :output1 := true; + :output2 := false; + end;"; + +$s = oci_parse($c, $sql); +oci_bind_by_name($s, ':output1', $output1, -1, OCI_B_BOL); +oci_bind_by_name($s, ':output2', $output2, -1, OCI_B_BOL); +oci_execute($s); +var_dump($output1); +var_dump($output2); + +echo "Test 2\n"; + +$b = "abc"; // bind var type will change +$sql = "begin :b := true; end;"; +$s = oci_parse($c, $sql); +oci_bind_by_name($s, ':b', $b, -1, OCI_B_BOL); +oci_execute($s); +var_dump($b); + + +echo "Test 3\n"; + +$sql = + "begin + if (:input < 10) then + :output := true; + else + :output := false; + end if; +end;"; +$s = oci_parse($c, $sql); +oci_bind_by_name($s, ':output', $output, -1, OCI_B_BOL); +for ($input = 5; $input < 15; ++$input) { + oci_bind_by_name($s, ':input', $input); + oci_execute($s); + var_dump($output); +} + +echo "Test 4\n"; + +$sql = +"begin + if (mod(:userid,2) = 0) then + :b := true; + else + :b := false; + end if; +end;"; +$s = oci_parse($c, $sql); +oci_bind_by_name($s, ':b', $b, -1, OCI_B_BOL); +for ($userid = 1; $userid <= 10; ++$userid) { + oci_bind_by_name($s, ':userid', $userid, -1, SQLT_INT); + oci_execute($s); + var_dump($b); +} + +echo "Test 5\n"; + +$sql = +"declare + l boolean; +begin + l := :b1; + :b1 := :b2; + :b2 := l; +end;"; +$s = oci_parse($c, $sql); +$b1 = true; +$b2 = false; +var_dump($b1, $b2); +oci_bind_by_name($s, ':b1', $b1, -1, OCI_B_BOL); +oci_bind_by_name($s, ':b2', $b2, -1, OCI_B_BOL); +oci_execute($s); +var_dump($b1, $b2); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +Test 1 +bool(true) +bool(false) +Test 2 +bool(true) +Test 3 +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(false) +bool(false) +bool(false) +bool(false) +bool(false) +Test 4 +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +Test 5 +bool(true) +bool(false) +bool(false) +bool(true) +===DONE=== diff --git a/ext/oci8/tests/bug37581.phpt b/ext/oci8/tests/bug37581.phpt index 1c00f68d31..a1eeafc761 100644 --- a/ext/oci8/tests/bug37581.phpt +++ b/ext/oci8/tests/bug37581.phpt @@ -10,19 +10,19 @@ require(dirname(__FILE__).'/skipif.inc'); require dirname(__FILE__)."/connect.inc"; -$p1 = "create or replace package ARRAYBINDPKG1 as +$p1 = "create or replace package BUG37581_PKG as type str_array is table of char(2) index by binary_integer; procedure array_bind(in_str in str_array, out_str out string); -end ARRAYBINDPKG1;"; +end BUG37581_PKG;"; -$p2 = "create or replace package body ARRAYBINDPKG1 as +$p2 = "create or replace package body BUG37581_PKG as procedure array_bind(in_str in str_array, out_str out string) is begin for i in 1 .. in_str.count loop out_str := in_str(i); end loop; end array_bind; -end ARRAYBINDPKG1;"; +end BUG37581_PKG;"; $s1 = oci_parse($c, $p1); $s2 = oci_parse($c, $p2); @@ -30,7 +30,7 @@ oci_execute($s1); oci_execute($s2); -$stmt = oci_parse($c,'begin ARRAYBINDPKG1.array_bind(:in_arr, :out_str); end;'); +$stmt = oci_parse($c,'begin bug37581_pkg.array_bind(:in_arr, :out_str); end;'); $strings = array('A','B','C','D','E'); oci_bind_array_by_name($stmt,':in_arr',$strings,5,1,SQLT_AFC); diff --git a/ext/oci8/tests/bug40078.phpt b/ext/oci8/tests/bug40078.phpt index 4070221ee9..d9b54e295f 100644 --- a/ext/oci8/tests/bug40078.phpt +++ b/ext/oci8/tests/bug40078.phpt @@ -11,15 +11,15 @@ require(dirname(__FILE__).'/skipif.inc'); require dirname(__FILE__).'/connect.inc'; $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BUG40078_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE nullbind(c1 OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END BUG40078_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY BUG40078_PKG AS PROCEDURE nullbind(c1 OUT ARRTYPE) IS BEGIN c1(1) := 'one'; @@ -28,11 +28,11 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS c1(4) := 'four'; c1(5) := 'five'; END nullbind; -END ARRAYBINDPKG1;"; +END BUG40078_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.nullbind(:c1); END;"); +$statement = oci_parse($c, "BEGIN bug40078_pkg.nullbind(:c1); END;"); oci_bind_array_by_name($statement, ":c1", $array, 5, 20, SQLT_CHR); diff --git a/ext/oci8/tests/bug51253.phpt b/ext/oci8/tests/bug51253.phpt index a97272f65f..111da929bb 100644 --- a/ext/oci8/tests/bug51253.phpt +++ b/ext/oci8/tests/bug51253.phpt @@ -19,15 +19,15 @@ $statement = oci_parse($c, $create); oci_execute($statement); $create_pkg = " -CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BUG51253_PKG AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); -END ARRAYBINDPKG1;"; +END BUG51253_PKG;"; $statement = oci_parse($c, $create_pkg); oci_execute($statement); $create_pkg_body = " -CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS +CREATE OR REPLACE PACKAGE BODY BUG51253_PKG AS CURSOR CUR IS SELECT name FROM bind_test; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN @@ -45,12 +45,12 @@ CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS END IF; END LOOP; END iobind; -END ARRAYBINDPKG1;"; +END BUG51253_PKG;"; $statement = oci_parse($c, $create_pkg_body); oci_execute($statement); echo "Test 1\n"; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN bug51253_pkg.iobind(:c1); END;"); $array1 = array("one", "two", "three", "four", "five"); $array2 = $array1; oci_bind_array_by_name($statement, ":c1", $array2, 5, -1, SQLT_CHR); @@ -61,7 +61,7 @@ var_dump($array2); echo "Test 2\n"; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN bug51253_pkg.iobind(:c1); END;"); $array1 = array("one", "two", "three", "four", "five"); $array2 = &$array1; oci_bind_array_by_name($statement, ":c1", $array2, 5, -1, SQLT_CHR); @@ -72,7 +72,7 @@ var_dump($array2); echo "Test 3\n"; -$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;"); +$statement = oci_parse($c, "BEGIN bug51253_pkg.iobind(:c1); END;"); $array1 = array("one", "two", "three", "four", "five"); $array2 = &$array1; oci_bind_array_by_name($statement, ":c1", $array1, 5, -1, SQLT_CHR); @@ -82,7 +82,7 @@ var_dump($array1); var_dump($array2); // Cleanup -$statement = oci_parse($c, "DROP PACKAGE ARRAYBINDPKG1"); +$statement = oci_parse($c, "DROP PACKAGE BUG51253_PKG"); @oci_execute($statement); $statement = oci_parse($c, "DROP TABLE BIND_TEST"); @oci_execute($statement); diff --git a/ext/oci8/tests/error_bind_2.phpt b/ext/oci8/tests/error_bind_2.phpt new file mode 100644 index 0000000000..642716887e --- /dev/null +++ b/ext/oci8/tests/error_bind_2.phpt @@ -0,0 +1,63 @@ +--TEST-- +Test some more oci_bind_by_name error conditions +--SKIPIF-- +<?php +if (!extension_loaded('oci8')) die ("skip no oci8 extension"); +$target_dbs = array('oracledb' => true, 'timesten' => true); // test runs on these DBs +require(dirname(__FILE__).'/skipif.inc'); +preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches); +if (!(isset($matches[0]) && $matches[1] >= 12)) { + die("skip expected output only valid when using Oracle Database 12c or greater"); +} +preg_match('/^[[:digit:]]+/', oci_client_version(), $matches); +if (!(isset($matches[0]) && $matches[0] >= 12)) { + die("skip works only with Oracle 12c or greater version of Oracle client libraries"); +} +?> +--FILE-- +<?php + +require(dirname(__FILE__).'/connect.inc'); + +// Initialization + +$stmtarray = array( + "drop table error_bind_2_tab", + "create table error_bind_2_tab(name varchar(10))" +); +oci8_test_sql_execute($c, $stmtarray); + +echo "Test 1 - SQLT_BOL\n"; + +unset($name); +$stmt = oci_parse($c, "insert into error_bind_2_tab values (:name)"); +oci_bind_by_name($stmt, ":name", $name, -1, SQLT_BOL); +$name=$c; +var_dump(oci_execute($stmt)); + +echo "Test 2 - SQLT_BOL\n"; + +unset($name); +$stmt = oci_parse($c, "insert into error_bind_2_tab values (:name)"); +$name=$c; +oci_bind_by_name($stmt, ":name", $name, -1, SQLT_BOL); + +// Clean up + +$stmtarray = array( + "drop table error_bind_2_tab", +); +oci8_test_sql_execute($c, $stmtarray); + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 - SQLT_BOL + +Warning: oci_execute(): Invalid variable used for bind in %s on line %d +bool(false) +Test 2 - SQLT_BOL + +Warning: oci_bind_by_name(): Invalid variable used for bind in %s on line %d +Done diff --git a/ext/oci8/tests/error_bind_3.phpt b/ext/oci8/tests/error_bind_3.phpt new file mode 100644 index 0000000000..7522dfe60a --- /dev/null +++ b/ext/oci8/tests/error_bind_3.phpt @@ -0,0 +1,48 @@ +--TEST-- +Test some more oci_bind_by_name error conditions +--SKIPIF-- +<?php +if (!extension_loaded('oci8')) die ("skip no oci8 extension"); +$target_dbs = array('oracledb' => true, 'timesten' => true); // test runs on these DBs +require(dirname(__FILE__).'/skipif.inc'); +preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches); +if (!(isset($matches[0]) && $matches[1] >= 12)) { + die("skip expected output only valid when using Oracle Database 12c or greater"); +} +preg_match('/^[[:digit:]]+/', oci_client_version(), $matches); +if (!(isset($matches[0]) && $matches[0] >= 12)) { + die("skip works only with Oracle 12c or greater version of Oracle client libraries"); +} +?> +--FILE-- +<?php + +require(dirname(__FILE__).'/connect.inc'); + +$sql = "begin + :output1 := 99; + :output2 := 'abc'; + end;"; + +$s = oci_parse($c, $sql); +oci_bind_by_name($s, ':output1', $output1, -1, OCI_B_BOL); +oci_bind_by_name($s, ':output2', $output2, -1, OCI_B_BOL); +oci_execute($s); +var_dump($output1); +var_dump($output2); + +echo "Done\n"; + +?> +--EXPECTF-- +Warning: oci_execute(): ORA-06550: line %d, column %d: +PLS-00382: %s +ORA-06550: line %d, column %d: +PL/SQL: %s +ORA-06550: line %d, column %d: +PLS-00382: %s +ORA-06550: line %d, column %d: +PL/SQL: %s in %s on line %d +bool(false) +bool(false) +Done diff --git a/ext/oci8/tests/reflection1.phpt b/ext/oci8/tests/reflection1.phpt index f76d7261aa..2cf3e4055b 100644 --- a/ext/oci8/tests/reflection1.phpt +++ b/ext/oci8/tests/reflection1.phpt @@ -177,7 +177,7 @@ Function [ <internal%s> function oci_field_name ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -193,7 +193,7 @@ Function [ <internal%s> function oci_field_scale ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -201,7 +201,7 @@ Function [ <internal%s> function oci_field_precision ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -209,7 +209,7 @@ Function [ <internal%s> function oci_field_type ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -217,7 +217,7 @@ Function [ <internal%s> function oci_field_type_raw ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -722,7 +722,7 @@ Function [ <internal%s> function ocicolumnname ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -738,7 +738,7 @@ Function [ <internal%s> function ocicolumnscale ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -746,7 +746,7 @@ Function [ <internal%s> function ocicolumnprecision ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -754,7 +754,7 @@ Function [ <internal%s> function ocicolumntype ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } @@ -762,7 +762,7 @@ Function [ <internal%s> function ocicolumntyperaw ] { - Parameters [2] { Parameter #0 [ <required> $statement_resource ] - Parameter #1 [ <required> $column_number ] + Parameter #1 [ <required> $column_number_or_name ] } } |
