mirror of
https://github.com/php/php-src.git
synced 2024-11-30 21:35:36 +08:00
Final diff fixes for PHP7 on base platform (some mem leaks still to be fixed). Update driver name. Improve test portability (Senthil)
This commit is contained in:
parent
4ee6a9a9a9
commit
a96f99e30a
@ -42,6 +42,11 @@
|
||||
#error Use PHP OCI8 1.4 for your version of PHP
|
||||
#endif
|
||||
|
||||
/* PHP 7 is the minimum supported version for OCI8 2.1 */
|
||||
#if PHP_MAJOR_VERSION < 7
|
||||
#error Use PHP OCI8 2.0 for your version of PHP
|
||||
#endif
|
||||
|
||||
#include "php_oci8.h"
|
||||
#include "php_oci8_int.h"
|
||||
#include "zend_hash.h"
|
||||
@ -2629,6 +2634,8 @@ int php_oci_column_to_zval(php_oci_out_column *column, zval *value, int mode)
|
||||
void php_oci_fetch_row (INTERNAL_FUNCTION_PARAMETERS, int mode, int expected_args)
|
||||
{
|
||||
zval *z_statement, *array;
|
||||
zval *placeholder;
|
||||
/* zend_array *temp_array = (zend_array *) NULL;*/
|
||||
php_oci_statement *statement; /* statement that will be fetched from */
|
||||
#if (OCI_MAJOR_VERSION >= 12)
|
||||
php_oci_statement *invokedstatement; /* statement this function was invoked with */
|
||||
@ -2736,53 +2743,16 @@ void php_oci_fetch_row (INTERNAL_FUNCTION_PARAMETERS, int mode, int expected_arg
|
||||
}
|
||||
#endif /* OCI_MAJOR_VERSION */
|
||||
|
||||
#if 0
|
||||
if (expected_args > 2)
|
||||
{
|
||||
array_init(array);
|
||||
|
||||
for (i = 0; i < statement->ncolumns; i++) {
|
||||
|
||||
column = php_oci_statement_get_column(statement, i + 1, NULL, 0);
|
||||
|
||||
if (column == NULL) {
|
||||
continue;
|
||||
}
|
||||
if ((column->indicator == -1) && ((fetch_mode & PHP_OCI_RETURN_NULLS) == 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(column->indicator == -1)) {
|
||||
zval element;
|
||||
|
||||
php_oci_column_to_zval(column, &element, fetch_mode);
|
||||
|
||||
if (fetch_mode & PHP_OCI_NUM || !(fetch_mode & PHP_OCI_ASSOC)) {
|
||||
add_index_zval(array, i, &element);
|
||||
}
|
||||
if (fetch_mode & PHP_OCI_ASSOC) {
|
||||
if (fetch_mode & PHP_OCI_NUM) {
|
||||
Z_TRY_ADDREF_P(&element);
|
||||
}
|
||||
add_assoc_zval(array, column->name, &element);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (fetch_mode & PHP_OCI_NUM || !(fetch_mode & PHP_OCI_ASSOC)) {
|
||||
add_index_null(array, i);
|
||||
}
|
||||
if (fetch_mode & PHP_OCI_ASSOC) {
|
||||
add_assoc_null(array, column->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* RETURN_LONG(statement->ncolumns); */
|
||||
}
|
||||
if (expected_args > 2) {
|
||||
if (Z_ISREF_P(array))
|
||||
placeholder = Z_REFVAL_P(array);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
array_init(return_value);
|
||||
placeholder = array;
|
||||
} else {
|
||||
placeholder = return_value;
|
||||
}
|
||||
|
||||
array_init(placeholder);
|
||||
|
||||
for (i = 0; i < statement->ncolumns; i++) {
|
||||
|
||||
@ -2801,32 +2771,42 @@ void php_oci_fetch_row (INTERNAL_FUNCTION_PARAMETERS, int mode, int expected_arg
|
||||
php_oci_column_to_zval(column, &element, (int) fetch_mode);
|
||||
|
||||
if (fetch_mode & PHP_OCI_NUM || !(fetch_mode & PHP_OCI_ASSOC)) {
|
||||
add_index_zval(return_value, i, &element);
|
||||
add_index_zval(placeholder, i, &element);
|
||||
}
|
||||
if (fetch_mode & PHP_OCI_ASSOC) {
|
||||
if (fetch_mode & PHP_OCI_NUM) {
|
||||
Z_TRY_ADDREF_P(&element);
|
||||
}
|
||||
add_assoc_zval(return_value, column->name, &element);
|
||||
add_assoc_zval(placeholder, column->name, &element);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (fetch_mode & PHP_OCI_NUM || !(fetch_mode & PHP_OCI_ASSOC)) {
|
||||
add_index_null(return_value, i);
|
||||
add_index_null(placeholder, i);
|
||||
}
|
||||
if (fetch_mode & PHP_OCI_ASSOC) {
|
||||
add_assoc_null(return_value, column->name);
|
||||
add_assoc_null(placeholder, column->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (expected_args > 2) {
|
||||
/* Only for ocifetchinto BC. In all other cases we return array, not long */
|
||||
ZVAL_COPY(array, return_value); /* copy return_value to given reference */
|
||||
/* zval_dtor(return_value); */
|
||||
#if 0
|
||||
zval *temp_array;
|
||||
if (Z_ISREF_P(array))
|
||||
temp_array = Z_REFVAL_P(array);
|
||||
else /* PHP7 will pass user buffer through 'array' as reference type.
|
||||
* So this part of code may not be reached. */
|
||||
temp_array = array;
|
||||
|
||||
/* copy array content in return_value into user buffer passed through
|
||||
* reference variable 'array' */
|
||||
ZVAL_ARR(temp_array, Z_ARRVAL_P(return_value));
|
||||
zval_ptr_dtor(return_value);
|
||||
#endif
|
||||
RETURN_LONG(statement->ncolumns);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
@ -58,7 +58,8 @@ only Oracle Database 9.2 client libraries are available.
|
||||
</stability>
|
||||
<license uri="http://www.php.net/license">PHP</license>
|
||||
<notes>
|
||||
PHP 7 Compatibility. This version is for PHP 7 only.
|
||||
This version is for PHP 7 only.
|
||||
Updated driver name format.
|
||||
</notes>
|
||||
<contents>
|
||||
<dir name="/">
|
||||
|
@ -121,7 +121,7 @@ extern zend_class_entry *oci_coll_class_entry_ptr;
|
||||
* Name passed to Oracle for tracing. Note some DB views only show
|
||||
* the first nine characters of the driver name.
|
||||
*/
|
||||
#define PHP_OCI8_DRIVER_NAME "PHP OCI8 " PHP_OCI8_VERSION
|
||||
#define PHP_OCI8_DRIVER_NAME "PHP OCI8 : " PHP_OCI8_VERSION
|
||||
|
||||
/* }}} */
|
||||
|
||||
|
@ -61,194 +61,194 @@ string(1) "6"
|
||||
string(1) "7"
|
||||
string(1) "8"
|
||||
string(1) "9"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(2) "10"
|
||||
string(2) "11"
|
||||
string(2) "12"
|
||||
string(2) "13"
|
||||
string(2) "14"
|
||||
string(2) "15"
|
||||
string(2) "16"
|
||||
string(2) "17"
|
||||
string(2) "18"
|
||||
string(2) "19"
|
||||
string(2) "20"
|
||||
string(2) "21"
|
||||
string(2) "22"
|
||||
string(2) "23"
|
||||
string(2) "24"
|
||||
string(2) "25"
|
||||
string(2) "26"
|
||||
string(2) "27"
|
||||
string(2) "28"
|
||||
string(2) "29"
|
||||
string(2) "30"
|
||||
string(2) "31"
|
||||
string(2) "32"
|
||||
string(2) "33"
|
||||
string(2) "34"
|
||||
string(2) "35"
|
||||
string(2) "36"
|
||||
string(2) "37"
|
||||
string(2) "38"
|
||||
string(2) "39"
|
||||
string(2) "40"
|
||||
string(2) "41"
|
||||
string(2) "42"
|
||||
string(2) "43"
|
||||
string(2) "44"
|
||||
string(2) "45"
|
||||
string(2) "46"
|
||||
string(2) "47"
|
||||
string(2) "48"
|
||||
string(2) "49"
|
||||
string(2) "50"
|
||||
string(2) "51"
|
||||
string(2) "52"
|
||||
string(2) "53"
|
||||
string(2) "54"
|
||||
string(2) "55"
|
||||
string(2) "56"
|
||||
string(2) "57"
|
||||
string(2) "58"
|
||||
string(2) "59"
|
||||
string(2) "60"
|
||||
string(2) "61"
|
||||
string(2) "62"
|
||||
string(2) "63"
|
||||
string(2) "64"
|
||||
string(2) "65"
|
||||
string(2) "66"
|
||||
string(2) "67"
|
||||
string(2) "68"
|
||||
string(2) "69"
|
||||
string(2) "70"
|
||||
string(2) "71"
|
||||
string(2) "72"
|
||||
string(2) "73"
|
||||
string(2) "74"
|
||||
string(2) "75"
|
||||
string(2) "76"
|
||||
string(2) "77"
|
||||
string(2) "78"
|
||||
string(2) "79"
|
||||
string(2) "80"
|
||||
string(2) "81"
|
||||
string(2) "82"
|
||||
string(2) "83"
|
||||
string(2) "84"
|
||||
string(2) "85"
|
||||
string(2) "86"
|
||||
string(2) "87"
|
||||
string(2) "88"
|
||||
string(2) "89"
|
||||
string(2) "90"
|
||||
string(2) "91"
|
||||
string(2) "92"
|
||||
string(2) "93"
|
||||
string(2) "94"
|
||||
string(2) "95"
|
||||
string(2) "96"
|
||||
string(2) "97"
|
||||
string(2) "98"
|
||||
string(2) "99"
|
||||
string(3) "100"
|
||||
string(3) "101"
|
||||
string(3) "102"
|
||||
string(3) "103"
|
||||
string(3) "104"
|
||||
string(3) "105"
|
||||
string(3) "106"
|
||||
string(3) "107"
|
||||
string(3) "108"
|
||||
string(3) "109"
|
||||
string(3) "110"
|
||||
string(3) "111"
|
||||
string(3) "112"
|
||||
string(3) "113"
|
||||
string(3) "114"
|
||||
string(3) "115"
|
||||
string(3) "116"
|
||||
string(3) "117"
|
||||
string(3) "118"
|
||||
string(3) "119"
|
||||
string(3) "120"
|
||||
string(3) "121"
|
||||
string(3) "122"
|
||||
string(3) "123"
|
||||
string(3) "124"
|
||||
string(3) "125"
|
||||
string(3) "126"
|
||||
string(3) "127"
|
||||
string(3) "128"
|
||||
string(3) "129"
|
||||
string(3) "130"
|
||||
string(3) "131"
|
||||
string(3) "132"
|
||||
string(3) "133"
|
||||
string(3) "134"
|
||||
string(3) "135"
|
||||
string(3) "136"
|
||||
string(3) "137"
|
||||
string(3) "138"
|
||||
string(3) "139"
|
||||
string(3) "140"
|
||||
string(3) "141"
|
||||
string(3) "142"
|
||||
string(3) "143"
|
||||
string(3) "144"
|
||||
string(3) "145"
|
||||
string(3) "146"
|
||||
string(3) "147"
|
||||
string(3) "148"
|
||||
string(3) "149"
|
||||
string(3) "150"
|
||||
string(3) "151"
|
||||
string(3) "152"
|
||||
string(3) "153"
|
||||
string(3) "154"
|
||||
string(3) "155"
|
||||
string(3) "156"
|
||||
string(3) "157"
|
||||
string(3) "158"
|
||||
string(3) "159"
|
||||
string(3) "160"
|
||||
string(3) "161"
|
||||
string(3) "162"
|
||||
string(3) "163"
|
||||
string(3) "164"
|
||||
string(3) "165"
|
||||
string(3) "166"
|
||||
string(3) "167"
|
||||
string(3) "168"
|
||||
string(3) "169"
|
||||
string(3) "170"
|
||||
string(3) "171"
|
||||
string(3) "172"
|
||||
string(3) "173"
|
||||
string(3) "174"
|
||||
string(3) "175"
|
||||
string(3) "176"
|
||||
string(3) "177"
|
||||
string(3) "178"
|
||||
string(3) "179"
|
||||
string(3) "180"
|
||||
string(3) "181"
|
||||
string(3) "182"
|
||||
string(3) "183"
|
||||
string(3) "184"
|
||||
string(3) "185"
|
||||
string(3) "186"
|
||||
string(3) "187"
|
||||
string(3) "188"
|
||||
string(3) "189"
|
||||
string(3) "190"
|
||||
string(3) "191"
|
||||
string(3) "192"
|
||||
string(3) "193"
|
||||
string(3) "194"
|
||||
string(3) "195"
|
||||
string(3) "196"
|
||||
string(3) "197"
|
||||
string(3) "198"
|
||||
string(3) "199"
|
||||
Done
|
||||
|
@ -59,194 +59,194 @@ string(1) "6"
|
||||
string(1) "7"
|
||||
string(1) "8"
|
||||
string(1) "9"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "2"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "3"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "4"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "5"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "6"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "7"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "8"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "9"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(1) "1"
|
||||
string(2) "10"
|
||||
string(2) "11"
|
||||
string(2) "12"
|
||||
string(2) "13"
|
||||
string(2) "14"
|
||||
string(2) "15"
|
||||
string(2) "16"
|
||||
string(2) "17"
|
||||
string(2) "18"
|
||||
string(2) "19"
|
||||
string(2) "20"
|
||||
string(2) "21"
|
||||
string(2) "22"
|
||||
string(2) "23"
|
||||
string(2) "24"
|
||||
string(2) "25"
|
||||
string(2) "26"
|
||||
string(2) "27"
|
||||
string(2) "28"
|
||||
string(2) "29"
|
||||
string(2) "30"
|
||||
string(2) "31"
|
||||
string(2) "32"
|
||||
string(2) "33"
|
||||
string(2) "34"
|
||||
string(2) "35"
|
||||
string(2) "36"
|
||||
string(2) "37"
|
||||
string(2) "38"
|
||||
string(2) "39"
|
||||
string(2) "40"
|
||||
string(2) "41"
|
||||
string(2) "42"
|
||||
string(2) "43"
|
||||
string(2) "44"
|
||||
string(2) "45"
|
||||
string(2) "46"
|
||||
string(2) "47"
|
||||
string(2) "48"
|
||||
string(2) "49"
|
||||
string(2) "50"
|
||||
string(2) "51"
|
||||
string(2) "52"
|
||||
string(2) "53"
|
||||
string(2) "54"
|
||||
string(2) "55"
|
||||
string(2) "56"
|
||||
string(2) "57"
|
||||
string(2) "58"
|
||||
string(2) "59"
|
||||
string(2) "60"
|
||||
string(2) "61"
|
||||
string(2) "62"
|
||||
string(2) "63"
|
||||
string(2) "64"
|
||||
string(2) "65"
|
||||
string(2) "66"
|
||||
string(2) "67"
|
||||
string(2) "68"
|
||||
string(2) "69"
|
||||
string(2) "70"
|
||||
string(2) "71"
|
||||
string(2) "72"
|
||||
string(2) "73"
|
||||
string(2) "74"
|
||||
string(2) "75"
|
||||
string(2) "76"
|
||||
string(2) "77"
|
||||
string(2) "78"
|
||||
string(2) "79"
|
||||
string(2) "80"
|
||||
string(2) "81"
|
||||
string(2) "82"
|
||||
string(2) "83"
|
||||
string(2) "84"
|
||||
string(2) "85"
|
||||
string(2) "86"
|
||||
string(2) "87"
|
||||
string(2) "88"
|
||||
string(2) "89"
|
||||
string(2) "90"
|
||||
string(2) "91"
|
||||
string(2) "92"
|
||||
string(2) "93"
|
||||
string(2) "94"
|
||||
string(2) "95"
|
||||
string(2) "96"
|
||||
string(2) "97"
|
||||
string(2) "98"
|
||||
string(2) "99"
|
||||
string(3) "100"
|
||||
string(3) "101"
|
||||
string(3) "102"
|
||||
string(3) "103"
|
||||
string(3) "104"
|
||||
string(3) "105"
|
||||
string(3) "106"
|
||||
string(3) "107"
|
||||
string(3) "108"
|
||||
string(3) "109"
|
||||
string(3) "110"
|
||||
string(3) "111"
|
||||
string(3) "112"
|
||||
string(3) "113"
|
||||
string(3) "114"
|
||||
string(3) "115"
|
||||
string(3) "116"
|
||||
string(3) "117"
|
||||
string(3) "118"
|
||||
string(3) "119"
|
||||
string(3) "120"
|
||||
string(3) "121"
|
||||
string(3) "122"
|
||||
string(3) "123"
|
||||
string(3) "124"
|
||||
string(3) "125"
|
||||
string(3) "126"
|
||||
string(3) "127"
|
||||
string(3) "128"
|
||||
string(3) "129"
|
||||
string(3) "130"
|
||||
string(3) "131"
|
||||
string(3) "132"
|
||||
string(3) "133"
|
||||
string(3) "134"
|
||||
string(3) "135"
|
||||
string(3) "136"
|
||||
string(3) "137"
|
||||
string(3) "138"
|
||||
string(3) "139"
|
||||
string(3) "140"
|
||||
string(3) "141"
|
||||
string(3) "142"
|
||||
string(3) "143"
|
||||
string(3) "144"
|
||||
string(3) "145"
|
||||
string(3) "146"
|
||||
string(3) "147"
|
||||
string(3) "148"
|
||||
string(3) "149"
|
||||
string(3) "150"
|
||||
string(3) "151"
|
||||
string(3) "152"
|
||||
string(3) "153"
|
||||
string(3) "154"
|
||||
string(3) "155"
|
||||
string(3) "156"
|
||||
string(3) "157"
|
||||
string(3) "158"
|
||||
string(3) "159"
|
||||
string(3) "160"
|
||||
string(3) "161"
|
||||
string(3) "162"
|
||||
string(3) "163"
|
||||
string(3) "164"
|
||||
string(3) "165"
|
||||
string(3) "166"
|
||||
string(3) "167"
|
||||
string(3) "168"
|
||||
string(3) "169"
|
||||
string(3) "170"
|
||||
string(3) "171"
|
||||
string(3) "172"
|
||||
string(3) "173"
|
||||
string(3) "174"
|
||||
string(3) "175"
|
||||
string(3) "176"
|
||||
string(3) "177"
|
||||
string(3) "178"
|
||||
string(3) "179"
|
||||
string(3) "180"
|
||||
string(3) "181"
|
||||
string(3) "182"
|
||||
string(3) "183"
|
||||
string(3) "184"
|
||||
string(3) "185"
|
||||
string(3) "186"
|
||||
string(3) "187"
|
||||
string(3) "188"
|
||||
string(3) "189"
|
||||
string(3) "190"
|
||||
string(3) "191"
|
||||
string(3) "192"
|
||||
string(3) "193"
|
||||
string(3) "194"
|
||||
string(3) "195"
|
||||
string(3) "196"
|
||||
string(3) "197"
|
||||
string(3) "198"
|
||||
string(3) "199"
|
||||
Done
|
||||
|
@ -63,5 +63,5 @@ oci8_test_sql_execute($c, $stmtarray);
|
||||
Test 1
|
||||
ORA-20000: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccDeeeeeeeeeeee
|
||||
Test 2
|
||||
oci_execute(): ORA-20000: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
|
||||
oci_execute(): ORA-20000: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccDeeeeeeeeeeee
|
||||
===DONE===
|
||||
|
@ -71,7 +71,7 @@ if (!$sys_c1) {
|
||||
} else {
|
||||
set_attr($sys_c1,'ACTION',10);
|
||||
get_sys_attr($sys_c1,'ACTION');
|
||||
get_attr($pc2,'ACTION');
|
||||
get_attr($sys_c1,'ACTION');
|
||||
oci_close($sys_c1);
|
||||
}
|
||||
|
||||
|
@ -8,18 +8,14 @@ if (strcasecmp($user, "system") && strcasecmp($user, "sys")) die("skip needs to
|
||||
if ($test_drcp) die("skip as Output might vary with DRCP");
|
||||
|
||||
preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches);
|
||||
if (!(isset($matches[0]) &&
|
||||
(($matches[1] == 11 && $matches[2] >= 2) ||
|
||||
($matches[1] >= 12)
|
||||
))) {
|
||||
die("skip expected output only valid when using Oracle 11gR2 or greater database server");
|
||||
if (!(isset($matches[0]) && ($matches[1] == 12 && $matches[2] == 1 && $matches[3] >= 0
|
||||
&& $matches[4] >= 2) || ($matches[1] == 12 && $matches[2] > 1)))
|
||||
die("skip test expected to work only with Oracle 12.1.0.2 database or its later patchsets");
|
||||
}
|
||||
|
||||
preg_match('/^([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/', oci_client_version(), $matches);
|
||||
if (!(isset($matches[0]) &&
|
||||
(($matches[1] == 11 && $matches[2] >= 2) ||
|
||||
($matches[1] >= 12)
|
||||
))) {
|
||||
die("skip test expected to work only with Oracle 11gR2 or greater version of client");
|
||||
if (!(isset($matches[0]) && ($matches[1] == 11 && $matches[2] >= 2) || ($matches[1] > 11))) {
|
||||
die("skip test expected to work only with Oracle 11.2 or greater version of client");
|
||||
}
|
||||
|
||||
?>
|
||||
@ -54,17 +50,17 @@ function get_attr($conn)
|
||||
$s2 = oci_parse($conn,$sel_stmt);
|
||||
oci_execute($s2,OCI_DEFAULT);
|
||||
oci_fetch($s2);
|
||||
echo "The value of DRIVER_NAME is ".oci_result($s2,1)."\n";
|
||||
echo "The value of DRIVER_NAME is ".trim(oci_result($s2,1))."\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
**Test 1.1 - Default values for the attribute **************
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
|
||||
***Test 1.2 - Get the values from different connections **************
|
||||
Testing with oci_pconnect()
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
Testing with oci_new_connect()
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
The value of DRIVER_NAME is PHP OCI8 : 2.1.0
|
||||
Done
|
||||
|
64
ext/oci8/tests/driver_name_11gR2.phpt
Normal file
64
ext/oci8/tests/driver_name_11gR2.phpt
Normal file
@ -0,0 +1,64 @@
|
||||
--TEST--
|
||||
Verify that the Driver Name attribute is set
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded('oci8')) die("skip no oci8 extension");
|
||||
|
||||
require(dirname(__FILE__)."/connect.inc");
|
||||
if (strcasecmp($user, "system") && strcasecmp($user, "sys")) die("skip needs to be run as a DBA user");
|
||||
if ($test_drcp) die("skip as Output might vary with DRCP");
|
||||
|
||||
preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches);
|
||||
if (!(isset($matches[0]) && ($matches[1] == 11 && $matches[2] >= 2))) {
|
||||
die("skip expected output only valid when using Oracle 11.2 database or its later patchsets");
|
||||
}
|
||||
preg_match('/^([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/', oci_client_version(), $matches);
|
||||
if (!(isset($matches[0]) && ($matches[1] == 11 && $matches[2] >= 2) || ($matches[1] > 11))) {
|
||||
die("skip test expected to work only with Oracle 11.2 or greater version of client");
|
||||
}
|
||||
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
require(dirname(__FILE__)."/connect.inc");
|
||||
|
||||
echo"**Test 1.1 - Default values for the attribute **************\n";
|
||||
get_attr($c);
|
||||
oci_close($c);
|
||||
|
||||
echo"\n***Test 1.2 - Get the values from different connections **************\n";
|
||||
// with oci_pconnect()
|
||||
echo "Testing with oci_pconnect()\n";
|
||||
$pc1=oci_pconnect($user,$password,$dbase);
|
||||
get_attr($pc1);
|
||||
oci_close($pc1);
|
||||
|
||||
echo "Testing with oci_new_connect()\n";
|
||||
$nc1=oci_new_connect($user,$password,$dbase);
|
||||
get_attr($nc1);
|
||||
oci_close($nc1);
|
||||
echo "Done\n";
|
||||
|
||||
function get_attr($conn)
|
||||
{
|
||||
$sel_stmt = "select client_driver
|
||||
from v\$session_connect_info sci, v\$session s
|
||||
where sci.client_driver is not null
|
||||
and sci.sid = s.sid
|
||||
and s.audsid = userenv('SESSIONID')";
|
||||
$s2 = oci_parse($conn,$sel_stmt);
|
||||
oci_execute($s2,OCI_DEFAULT);
|
||||
oci_fetch($s2);
|
||||
echo "The value of DRIVER_NAME is ".trim(oci_result($s2,1))."\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
**Test 1.1 - Default values for the attribute **************
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
|
||||
***Test 1.2 - Get the values from different connections **************
|
||||
Testing with oci_pconnect()
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
Testing with oci_new_connect()
|
||||
The value of DRIVER_NAME is PHP OCI8
|
||||
Done
|
@ -88,7 +88,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 9\n";
|
||||
|
||||
$c = oci_connect('/', '', 'c', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
$c = oci_connect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
@ -97,7 +97,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 10\n";
|
||||
|
||||
$c = oci_connect('/', '', 'c', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
$c = oci_connect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
|
@ -87,7 +87,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 9\n";
|
||||
|
||||
$c = oci_new_connect('/', '', 'c', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
$c = oci_new_connect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
@ -96,7 +96,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 10\n";
|
||||
|
||||
$c = oci_new_connect('/', '', 'c', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
$c = oci_new_connect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
|
@ -87,7 +87,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 9\n";
|
||||
|
||||
$c = oci_pconnect('/', '', 'c', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
$c = oci_pconnect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
@ -96,7 +96,7 @@ var_dump($c);
|
||||
|
||||
echo "Test 10\n";
|
||||
|
||||
$c = oci_pconnect('/', '', 'c', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
$c = oci_pconnect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
|
||||
if (!$c) {
|
||||
$m = oci_error();
|
||||
var_dump($m);
|
||||
|
@ -42,14 +42,17 @@ var_dump($c);
|
||||
<?php exit(0); ?>
|
||||
--EXPECTF--
|
||||
Test 1
|
||||
|
||||
Warning: oci_connect(): External Authentication is not supported on Windows in %s on line %d
|
||||
bool(false)
|
||||
bool(false)
|
||||
Test 2
|
||||
|
||||
Warning: oci_new_connect(): External Authentication is not supported on Windows in %s on line %d
|
||||
bool(false)
|
||||
bool(false)
|
||||
Test 3
|
||||
|
||||
Warning: oci_pconnect(): External Authentication is not supported on Windows in %s on line %d
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
Loading…
Reference in New Issue
Block a user