$s = @oci_parse($c, "select ' from dual");
if (!$s) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
+ var_dump(oci_error(), oci_error($c));
echo "2nd call\n";
- var_dump(oci_error(), oci_error($c), oci_error($s));
+ var_dump(oci_error(), oci_error($c));
}
echo "\nTest 3 - Execute\n";
}
Test 2 - Parse
-
-Warning: oci_error(): Argument #1 must be of type resource, bool%sgiven in %sbug51291_1.php on line %d
bool(false)
array(4) {
["code"]=>
["sqltext"]=>
string(0) ""
}
-NULL
2nd call
-
-Warning: oci_error(): Argument #1 must be of type resource, bool%sgiven in %sbug51291_1.php on line %d
bool(false)
array(4) {
["code"]=>
["sqltext"]=>
string(0) ""
}
-NULL
Test 3 - Execute
array(4) {
var_dump($coll1 = oci_new_collection($c, $type_name));
var_dump(oci_free_collection($coll1));
-var_dump(oci_collection_size($coll1));
+
+try {
+ var_dump(oci_collection_size($coll1));
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
+}
echo "Done\n";
resource(%d) of type (oci8 collection)
}
bool(true)
-
-Warning: oci_collection_size(): supplied resource is not a valid oci8 collection resource in %s on line %d
-bool(false)
+string(%d) "oci_collection_size(): supplied resource is not a valid oci8 collection resource"
Done
$coll1 = oci_new_collection($c, $type_name);
-echo "Test 1.\n";
-var_dump($coll1->trim());
-
echo "\nTest 2.\n";
var_dump($coll1->trim(0));
?>
--EXPECTF--
-Test 1.
-
-Warning: OCI-Collection::trim() expects exactly 1 parameter, 0 given in %s on line 9
-NULL
-
Test 2.
bool(true)
var_dump(oci_define_by_name($stmt, "STRING", $string, 20));
var_dump(oci_define_by_name($stmt, "STRING", $string, 20));
var_dump(oci_define_by_name($stmt, "", $string, 20));
-var_dump(oci_define_by_name($stmt, ""));
oci_execute($stmt);
Warning: oci_define_by_name(): Column name cannot be empty in %s on line %d
bool(false)
-
-Warning: oci_define_by_name() expects at least 3 parameters, 2 given in %s on line %d
-NULL
string(4) "some"
Done
echo "Test 3\n";
var_dump(oci_free_statement($stmt));
var_dump($string);
-var_dump(oci_result($stmt, 'STRING'));
+try {
+ var_dump(oci_result($stmt, 'STRING'));
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
+}
// Cleanup
$stmtarray = array(
Test 3
bool(true)
string(4) "some"
-
-Warning: oci_result(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
+string(%d) "oci_result(): supplied resource is not a valid oci8 statement resource"
Done
while ($row = oci_fetch_object($s)) {
echo $row->COL1 . "\n";
- echo $row->COL2->load(100) . "\n";
+ echo $row->COL2->load() . "\n";
echo $row->COL3 . "\n";
}
var_dump(oci_field_precision($s, "none"));
var_dump(oci_field_size($s, "none"));
-echo "Test 3\n";
-var_dump(oci_field_is_null($c, -1));
-var_dump(oci_field_name($c, -1));
-var_dump(oci_field_type($c, -1));
-var_dump(oci_field_type_raw($c, -1));
-var_dump(oci_field_scale($c, -1));
-var_dump(oci_field_precision($c, -1));
-var_dump(oci_field_size($c, -1));
-
echo "Test 4\n";
var_dump(oci_field_is_null($s, array()));
var_dump(oci_field_name($s, array()));
var_dump(oci_field_precision($s, array()));
var_dump(oci_field_size($s, array()));
-var_dump(oci_field_size($s));
-
-
// Cleanup
$stmtarray = array(
Warning: oci_field_size(): Invalid column name "none" in %s on line %d
bool(false)
-Test 3
-
-Warning: oci_field_is_null(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_name(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_type(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_type_raw(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_scale(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_precision(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
-
-Warning: oci_field_size(): supplied resource is not a valid oci8 statement resource in %s on line %d
-bool(false)
Test 4
Warning: oci_field_is_null(): Invalid column index "0" in %s on line %d
Warning: oci_field_size(): Invalid column index "0" in %s on line %d
bool(false)
-
-Warning: oci_field_size() expects exactly 2 parameters, 1 given in %s on line %d
-bool(false)
Done
echo "Test 1\n";
$s = oci_parse($c, "begin imp_res_close_proc(); end;");
oci_execute($s);
-while (($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
- foreach ($row as $item) {
- echo " ".$item;
+
+try {
+ while (($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
+ foreach ($row as $item) {
+ echo " ".$item;
+ }
+ echo "\n";
+ oci_free_statement($s); // Free the implicit result handle
}
- echo "\n";
- oci_free_statement($s); // Free the implicit result handle
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
}
// Clean up
--EXPECTF--
Test 1
1
-
-Warning: oci_fetch_array(): supplied resource is not a valid oci8 statement resource in %simp_res_close.php on line %d
+string(%d) "oci_fetch_array(): supplied resource is not a valid oci8 statement resource"
$s = oci_parse($c, $plsql);
oci_execute($s);
-while (($s1 = oci_get_implicit_resultset($s))) {
- while (($row = oci_fetch_array($s1, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
- foreach ($row as $item) {
- echo " ".$item;
+try {
+ while (($s1 = oci_get_implicit_resultset($s))) {
+ while (($row = oci_fetch_array($s1, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
+ foreach ($row as $item) {
+ echo " ".$item;
+ }
+ echo "\n";
+ oci_free_statement($s1); // Free the implicit result handle
}
- echo "\n";
- oci_free_statement($s1); // Free the implicit result handle
}
+ oci_free_statement($s);
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
}
-oci_free_statement($s);
?>
--EXPECTF--
Test 1
1
-
-Warning: oci_fetch_array(): supplied resource is not a valid oci8 statement resource in %s on line %d
- 3
-
-Warning: oci_fetch_array(): supplied resource is not a valid oci8 statement resource in %s on line %d
- 5
-
-Warning: oci_fetch_array(): supplied resource is not a valid oci8 statement resource in %s on line %d
+string(%d) "oci_fetch_array(): supplied resource is not a valid oci8 statement resource"
\ No newline at end of file
$s = oci_parse($c, $plsql);
oci_execute($s);
-while (($s1 = oci_get_implicit_resultset($s))) {
- while (($row = oci_fetch_array($s1, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
- foreach ($row as $item) {
- echo " ".$item;
+try {
+ while (($s1 = oci_get_implicit_resultset($s))) {
+ while (($row = oci_fetch_array($s1, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
+ foreach ($row as $item) {
+ echo " ".$item;
+ }
+ echo "\n";
+ oci_free_statement($s); // close parent
}
- echo "\n";
- oci_free_statement($s); // close parent
}
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
}
?>
1
Warning: oci_fetch_array(): OCI_INVALID_HANDLE in %s on line %d
-
-Warning: oci_get_implicit_resultset(): supplied resource is not a valid oci8 statement resource in %s on line %d
+string(%d) "oci_get_implicit_resultset(): supplied resource is not a valid oci8 statement resource"
\ No newline at end of file
var_dump($blob);
var_dump($blob->write("test", -1));
-var_dump($blob->write("test", "str"));
var_dump($blob->write("test", 1000000));
var_dump($blob->write(str_repeat("test", 10000), 1000000));
var_dump($blob->tell());
-var_dump($blob->seek("str", -5));
var_dump($blob->flush());
oci_commit($c);
resource(%d) of type (oci8 descriptor)
}
int(0)
-
-Warning: OCI-Lob::write(): Argument #2 must be of type int%s string given in %slob_002.php on line %d
-NULL
int(4)
int(40000)
int(40004)
-
-Warning: OCI-Lob::seek(): Argument #1 must be of type int%s string given in %slob_002.php on line %d
-NULL
bool(false)
int(40004)
var_dump($blob->close());
var_dump($blob->write("test"));
var_dump($blob->free());
-var_dump($blob->write("test"));
oci_commit($c);
bool(true)
int(4)
bool(true)
-
-Warning: OCI-Lob::write(): %s is not a valid oci8 descriptor resource in %slob_014.php on line %d
-bool(false)
array(1) {
[0]=>
string(8) "testtest"
+++ /dev/null
---TEST--
-various tests with wrong param count
---SKIPIF--
-<?php
-$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
-require(__DIR__.'/skipif.inc');
-?>
---FILE--
-<?php
-
-require __DIR__.'/connect.inc';
-require __DIR__.'/create_table.inc';
-
-$ora_sql = "INSERT INTO
- ".$schema.$table_name." (blob)
- VALUES (empty_blob())
- RETURNING
- blob
- INTO :v_blob ";
-
-$statement = oci_parse($c,$ora_sql);
-$blob = oci_new_descriptor($c,OCI_D_LOB,1,2,3);
-$blob = oci_new_descriptor($c);
-$int = 1;
-oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB,4);
-oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB,4,5);
-oci_bind_by_name($statement,":v_blob", $int,-1);
-oci_bind_by_name($statement,":v_blob", $int);
-oci_bind_by_name($statement,":v_blob");
-oci_bind_by_name($statement);
-oci_execute($statement, OCI_DEFAULT);
-
-var_dump($blob);
-
-require __DIR__.'/drop_table.inc';
-
-echo "Done\n";
-
-?>
---EXPECTF--
-Warning: oci_new_descriptor() expects at most 2 parameters, 5 given in %s on line %d
-
-Warning: oci_bind_by_name() expects at most 5 parameters, 6 given in %s on line %d
-
-Warning: oci_bind_by_name() expects at most 5 parameters, 7 given in %s on line %d
-
-Warning: oci_bind_by_name() expects at least 3 parameters, 2 given in %s on line %d
-
-Warning: oci_bind_by_name() expects at least 3 parameters, 1 given in %s on line %d
-object(OCI-Lob)#%d (1) {
- ["descriptor"]=>
- resource(%d) of type (oci8 descriptor)
-}
-Done
var_dump($blob->close());
var_dump($blob->write("test"));
var_dump(oci_free_descriptor($blob));
-var_dump($blob->write("test"));
-var_dump(oci_free_descriptor($blob));
-var_dump(oci_free_descriptor(new stdclass));
+try {
+ var_dump($blob->write("test"));
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
+}
+
+try {
+ var_dump(oci_free_descriptor($blob));
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
+}
$blob = oci_new_descriptor($c,OCI_D_LOB);
unset($blob->descriptor);
bool(true)
int(4)
bool(true)
-
-Warning: OCI-Lob::write(): %s is not a valid oci8 descriptor resource in %s on line %d
-bool(false)
-
-Warning: oci_free_descriptor(): %s is not a valid oci8 descriptor resource in %s on line %d
-bool(false)
-
-Warning: oci_free_descriptor(): Argument #1 must be of type OCI-Lob, object given in %s on line %d
-NULL
+string(%d) "OCI-Lob::write(): %s is not a valid oci8 descriptor resource"
+string(%d) "oci_free_descriptor(): %s is not a valid oci8 descriptor resource"
Warning: oci_free_descriptor(): Unable to find descriptor property in %s on line %d
bool(false)
$clob = oci_new_descriptor($c, OCI_D_LOB);
oci_bind_by_name($statement, ":mylob", $clob, -1, OCI_B_CLOB);
oci_execute($statement, OCI_DEFAULT);
-$clob->save();
-oci_lob_save();
oci_lob_save($clob, "data");
unset($clob->descriptor);
-oci_lob_save($clob, "data");
oci_commit($c);
?>
--EXPECTF--
-Warning: OCI-Lob::save() expects at least 1 parameter, 0 given in %s on line %d
-
-Warning: oci_lob_save() expects at least 2 parameters, 0 given in %s on line %d
-
-Warning: oci_lob_save(): Unable to find descriptor property in %s on line %d
Warning: OCI-Lob::save(): Offset parameter must be greater than or equal to 0 in %s on line %d
string(4) "data"
var_dump($blob);
var_dump($blob->seek(10, OCI_SEEK_CUR));
var_dump($blob->import(__DIR__."/lob_009.txt"));
-var_dump($blob->import());
-var_dump(oci_lob_import($blob));
var_dump(oci_lob_import($blob, __DIR__."/lob_009.txt"));
unset($blob->descriptor);
var_dump(oci_lob_import($blob, __DIR__."/lob_009.txt"));
}
bool(true)
bool(true)
-
-Warning: OCI-Lob::import() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_import() expects exactly 2 parameters, 1 given in %s on line %d
-NULL
bool(true)
Warning: oci_lob_import(): Unable to find descriptor property in %s on line %d
var_dump(strlen($row[0]->load()));
var_dump(strlen(oci_lob_load($row[0])));
-var_dump(oci_lob_load());
unset($row[0]->descriptor);
var_dump(oci_lob_load($row[0]));
int(7000)
int(7000)
-Warning: oci_lob_load() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
Warning: oci_lob_load(): Unable to find descriptor property in %s on line %d
bool(false)
Done
var_dump($row = oci_fetch_array($s));
var_dump(oci_lob_read($row[0], 2));
-var_dump(oci_lob_read($row[0]));
-var_dump(oci_lob_read());
var_dump(oci_lob_eof($row[0]));
-var_dump(oci_lob_eof());
unset($row[0]->descriptor);
var_dump(oci_lob_read($row[0],1));
}
}
string(2) "st"
-
-Warning: oci_lob_read() expects exactly 2 parameters, 1 given in %s on line %d
-NULL
-
-Warning: oci_lob_read() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
bool(false)
-Warning: oci_lob_eof() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
Warning: oci_lob_read(): Unable to find descriptor property in %s on line %d
bool(false)
var_dump($blob);
var_dump(oci_lob_write($blob, "test"));
-var_dump(oci_lob_rewind());
var_dump(oci_lob_rewind($blob));
var_dump(oci_lob_write($blob, "str"));
-var_dump(oci_lob_seek(10, OCI_SEEK_SET));
var_dump(oci_lob_seek($blob, 10, OCI_SEEK_SET));
oci_commit($c);
oci_execute($s, OCI_DEFAULT);
var_dump($row = oci_fetch_array($s));
-
-var_dump(oci_lob_append());
-var_dump(oci_lob_append($blob));
var_dump(oci_lob_append($row[0], $blob));
-var_dump(oci_lob_read(10000));
var_dump(oci_lob_read($row[0], 10000));
oci_commit($c);
resource(%d) of type (oci8 descriptor)
}
int(4)
-
-Warning: oci_lob_rewind() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
bool(true)
int(3)
-
-Warning: oci_lob_seek(): Argument #1 must be of type OCI-Lob, int%sgiven in %s on line %d
-NULL
bool(true)
array(2) {
[0]=>
resource(%d) of type (oci8 descriptor)
}
}
-
-Warning: oci_lob_append() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_append() expects exactly 2 parameters, 1 given in %s on line %d
-NULL
bool(true)
-
-Warning: oci_lob_read() expects exactly 2 parameters, 1 given in %s on line %d
-NULL
string(4) "strt"
string(8) "strtstrt"
Done
var_dump(oci_lob_copy($row2[0], $row1[0], -1));
var_dump(oci_lob_copy($row2[0], $row1[0], 100000));
-var_dump(oci_lob_size());
var_dump(oci_lob_size($row2[0]));
unset($dummy->descriptor);
var_dump(oci_lob_size($dummy));
Warning: oci_lob_copy(): Length parameter must be greater than 0 in %s on line %d
bool(false)
bool(true)
-
-Warning: oci_lob_size() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
int(0)
Warning: oci_lob_size(): Unable to find descriptor property in %s on line %d
// Function existence
echo "Test 1\n";
-var_dump(oci_lob_load());
-var_dump(oci_lob_tell());
-var_dump(oci_lob_truncate());
-var_dump(oci_lob_erase());
-var_dump(oci_lob_flush());
-var_dump(ocisetbufferinglob());
-var_dump(ocigetbufferinglob());
-var_dump(oci_lob_rewind());
-var_dump(oci_lob_read());
-var_dump(oci_lob_eof());
-var_dump(oci_lob_seek());
-var_dump(oci_lob_write());
-var_dump(oci_lob_append());
-var_dump(oci_lob_size());
-var_dump(oci_lob_export());
-var_dump(oci_lob_export());
-var_dump(oci_lob_import());
-// No PHP_FE for oci_lob_write_temporary() or oci_lob_close()
-//var_dump(oci_lob_write_temporary());
-//var_dump(oci_lob_close());
-var_dump(oci_lob_save());
-var_dump(oci_lob_import());
-var_dump(oci_free_descriptor());
+var_dump(function_exists('oci_lob_load'));
+var_dump(function_exists('oci_lob_tell'));
+var_dump(function_exists('oci_lob_truncate'));
+var_dump(function_exists('oci_lob_erase'));
+var_dump(function_exists('oci_lob_flush'));
+var_dump(function_exists('ocisetbufferinglob'));
+var_dump(function_exists('ocigetbufferinglob'));
+var_dump(function_exists('oci_lob_rewind'));
+var_dump(function_exists('oci_lob_read'));
+var_dump(function_exists('oci_lob_eof'));
+var_dump(function_exists('oci_lob_seek'));
+var_dump(function_exists('oci_lob_write'));
+var_dump(function_exists('oci_lob_append'));
+var_dump(function_exists('oci_lob_size'));
+var_dump(function_exists('oci_lob_export'));
+var_dump(function_exists('oci_lob_export'));
+var_dump(function_exists('oci_lob_import'));
+var_dump(function_exists('oci_lob_save'));
+var_dump(function_exists('oci_lob_import'));
+var_dump(function_exists('oci_free_descriptor'));
echo "Done\n";
?>
--EXPECTF--
Test 1
-
-Warning: oci_lob_load() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_tell() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_truncate() expects at least 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_erase() expects at least 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_flush() expects at least 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: ocisetbufferinglob() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: ocigetbufferinglob() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_rewind() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_read() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_eof() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_seek() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_write() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_append() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_size() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_export() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_export() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_import() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_save() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_lob_import() expects exactly 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: oci_free_descriptor() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
Done
var_dump($c);
var_dump(oci_close($c));
-var_dump(oci_parse($c, "select 1 from dual"));
+
+try {
+ var_dump(oci_parse($c, "select 1 from dual"));
+} catch(\TypeError $exception) {
+ var_dump($exception->getMessage());
+}
echo "Done\n";
--EXPECTF--
resource(%d) of type (oci8 connection)
bool(true)
-
-Warning: oci_parse(): supplied resource is not a valid oci8 connection resource in %sold_oci_close1.php on line %d
-bool(false)
+string(%d) "oci_parse(): supplied resource is not a valid oci8 connection resource"
Done
oci_connect("", "", "", false, OCI_SYSOPER);
oci_connect("", "", "", false, OCI_SYSDBA);
oci_connect("", "", "", false, -1);
-oci_connect("", "", "", false, "qwe");
echo "Done\n";
?>
Warning: oci_connect(): Privileged connect is disabled. Enable oci8.privileged_connect to be able to connect as SYSOPER or SYSDBA in %s on line %d
Warning: oci_connect(): Invalid session mode specified (-1) in %s on line %d
-
-Warning: oci_connect(): Argument #5 must be of type int%s string given in %s on line %d
Done
oci_connect("", "", "", false, OCI_SYSOPER);
oci_connect("", "", "", false, OCI_SYSDBA);
oci_connect("", "", "", false, -1);
-oci_connect("", "", "", false, "qwe");
echo "Done\n";
?>
Warning: oci_connect(): ORA-%d: %s in %s on line %d
Warning: oci_connect(): Invalid session mode specified (-1) in %s on line %d
-
-Warning: oci_connect(): Argument #5 must be of type int%s string given in %s on line %d
Done