diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c index a570e700c81..6f5e559f79e 100644 --- a/ext/oci8/oci8_statement.c +++ b/ext/oci8/oci8_statement.c @@ -1178,7 +1178,8 @@ int php_oci_bind_by_name(php_oci_statement *statement, char *name, size_t name_l } else if (Z_TYPE_P(var) == IS_STRING) { value_sz = (sb4) Z_STRLEN_P(var); } else { - value_sz = PHP_OCI_PIECE_SIZE; + /* Bug-72524: revert value_sz from PHP_OCI_PIECE_SIZE to 0. This restores PHP 5.6 behavior */ + value_sz = 0; } } else { value_sz = (sb4) maxlength; @@ -1243,6 +1244,11 @@ int php_oci_bind_by_name(php_oci_statement *statement, char *name, size_t name_l bindp = zend_hash_update_ptr(statement->binds, zvtmp, bindp); zend_string_release(zvtmp); } + /* Make sure the minimum of value_sz is 1 to avoid ORA-3149 + * when both in/out parameters are bound with empty strings + */ + if (value_sz == 0) + value_sz = 1; bindp->descriptor = oci_desc; bindp->statement = oci_stmt; diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml index daa55eb2a96..bd57b9bcda9 100644 --- a/ext/oci8/package.xml +++ b/ext/oci8/package.xml @@ -46,7 +46,7 @@ Interoperability Support" (ID 207303.1) for details. no - 2016-08-04 + 2016-08-07 @@ -61,6 +61,7 @@ Interoperability Support" (ID 207303.1) for details. This version is for PHP 7 only. Fixed invalid handle error with Implicit Result Sets +Fixed bug #72524 (Binding null values triggers ORA-24816 error) @@ -163,6 +164,7 @@ Fixed invalid handle error with Implicit Result Sets + diff --git a/ext/oci8/tests/bind_char_3.phpt b/ext/oci8/tests/bind_char_3.phpt index 67aafae3cc1..9ff09551afe 100644 --- a/ext/oci8/tests/bind_char_3.phpt +++ b/ext/oci8/tests/bind_char_3.phpt @@ -246,8 +246,9 @@ echo "Done\n"; --EXPECTF-- Test 1.1 In Length: default. In Type: default. Out Length: default. Out Type: default Executing: + Oci_execute error ORA-6502 string(3) "abc" -string(3) "abc" +NULL Test 1.2 In Length: default. In Type: default. Out Length: 10. Out Type: default Executing: string(3) "abc" diff --git a/ext/oci8/tests/bind_char_3_11gR1.phpt b/ext/oci8/tests/bind_char_3_11gR1.phpt index 5c8b286249d..af0ad4e682c 100644 --- a/ext/oci8/tests/bind_char_3_11gR1.phpt +++ b/ext/oci8/tests/bind_char_3_11gR1.phpt @@ -246,8 +246,9 @@ echo "Done\n"; --EXPECTF-- Test 1.1 In Length: default. In Type: default. Out Length: default. Out Type: default Executing: + Oci_execute error ORA-6502 string(3) "abc" -string(3) "abc" +NULL Test 1.2 In Length: default. In Type: default. Out Length: 10. Out Type: default Executing: string(3) "abc" diff --git a/ext/oci8/tests/bind_char_4.phpt b/ext/oci8/tests/bind_char_4.phpt index 9ca369a1727..b8f2284830a 100644 --- a/ext/oci8/tests/bind_char_4.phpt +++ b/ext/oci8/tests/bind_char_4.phpt @@ -248,8 +248,9 @@ echo "Done\n"; --EXPECTF-- Test 1.1 In Length: default. In Type: default. Out Length: default. Out Type: default Executing: + Oci_execute error ORA-6502 string(3) "abc" -string(3) "abc" +NULL Test 1.2 In Length: default. In Type: default. Out Length: 10. Out Type: default Executing: string(3) "abc" diff --git a/ext/oci8/tests/bind_char_4_11gR1.phpt b/ext/oci8/tests/bind_char_4_11gR1.phpt index 56a666e4a55..646b3317a1b 100644 --- a/ext/oci8/tests/bind_char_4_11gR1.phpt +++ b/ext/oci8/tests/bind_char_4_11gR1.phpt @@ -248,8 +248,9 @@ echo "Done\n"; --EXPECTF-- Test 1.1 In Length: default. In Type: default. Out Length: default. Out Type: default Executing: + Oci_execute error ORA-6502 string(3) "abc" -string(3) "abc" +NULL Test 1.2 In Length: default. In Type: default. Out Length: 10. Out Type: default Executing: string(3) "abc" diff --git a/ext/oci8/tests/bug27303_1_11gR1.phpt b/ext/oci8/tests/bug27303_1_11gR1.phpt index 44fcc588e8f..d2018783bc9 100644 --- a/ext/oci8/tests/bug27303_1_11gR1.phpt +++ b/ext/oci8/tests/bug27303_1_11gR1.phpt @@ -61,194 +61,194 @@ string(1) "6" string(1) "7" string(1) "8" string(1) "9" -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" +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" Done diff --git a/ext/oci8/tests/bug27303_2_11gR1.phpt b/ext/oci8/tests/bug27303_2_11gR1.phpt index d9a68b8cc73..a50b3e26132 100644 --- a/ext/oci8/tests/bug27303_2_11gR1.phpt +++ b/ext/oci8/tests/bug27303_2_11gR1.phpt @@ -155,104 +155,104 @@ 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" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "10" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "11" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "12" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "13" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "14" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "15" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "16" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "17" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "18" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" +string(2) "19" Done diff --git a/ext/oci8/tests/bug27303_4_11gR1.phpt b/ext/oci8/tests/bug27303_4_11gR1.phpt index d65fbc5f88d..550d89fdcc5 100644 --- a/ext/oci8/tests/bug27303_4_11gR1.phpt +++ b/ext/oci8/tests/bug27303_4_11gR1.phpt @@ -59,194 +59,194 @@ string(1) "6" string(1) "7" string(1) "8" string(1) "9" -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" +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" Done diff --git a/ext/oci8/tests/bug72524.phpt b/ext/oci8/tests/bug72524.phpt new file mode 100644 index 00000000000..dde99b000c1 --- /dev/null +++ b/ext/oci8/tests/bug72524.phpt @@ -0,0 +1,96 @@ +--TEST-- +Bug #72524 (Binding null values triggers ORA-24816 error) +--SKIPIF-- + true, 'timesten' => true); // test runs on these DBs +require(dirname(__FILE__).'/skipif.inc'); +?> +--FILE-- + + +===DONE=== + +--EXPECTF-- +Test 1 - P1 Value: NULL P1 Length: Default P1 Type: Default P2 Value: NULL P2 Length: Default P2 Type: Default +bool(true) +Test 2 - P1 Value: '' P1 Length: Default P1 Type: Default P2 Value: '' P2 Length: Default P2 Type: Default +bool(true) +Test 3 - P1 Value: 'abc' P1 Length: 0 P1 Type: Default P2 Value: '' P2 Length: 0 P2 Type: Default +bool(true) +Test 4 - P1 Value: NULL P1 Length: -1 P1 Type: SQLT_LNG P2 Value: NULL P2 Length: -1 P2 Type:Default + +Warning: oci_execute(): ORA-24816: %s in %s on line %d +bool(false) +Test 5 - P1 Value: NULL P1 Length: 0 P1 Type: SQLT_LNG P2 Value: NULL P2 Length: 0 P2 Type:Default + +Warning: oci_execute(): ORA-24816: %s in %s on line %d +bool(false) +===DONE===