diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/oci8/tests/cursor_bind.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/oci8/tests/cursor_bind.phpt')
-rw-r--r-- | ext/oci8/tests/cursor_bind.phpt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/ext/oci8/tests/cursor_bind.phpt b/ext/oci8/tests/cursor_bind.phpt new file mode 100644 index 0000000..740402e --- /dev/null +++ b/ext/oci8/tests/cursor_bind.phpt @@ -0,0 +1,79 @@ +--TEST-- +bind and fetch cursor from a statement +--SKIPIF-- +<?php +$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs +require(dirname(__FILE__).'/skipif.inc'); +?> +--FILE-- +<?php + +require(dirname(__FILE__)."/connect.inc"); + +// Initialization + +$stmtarray = array( + "drop table cursor_bind_tab", + "create table cursor_bind_tab (id NUMBER, value VARCHAR(20))", + "insert into cursor_bind_tab values (1, '1')", + "insert into cursor_bind_tab values (1, '1')", + "insert into cursor_bind_tab values (1, '1')" +); + +oci8_test_sql_execute($c, $stmtarray); + +$sql = " +DECLARE +TYPE curtype IS REF CURSOR; +cursor_var curtype; +BEGIN + OPEN cursor_var FOR SELECT id, value FROM cursor_bind_tab; + :curs := cursor_var; +END; +"; + +$stmt = oci_parse($c, $sql); + +$cursor = oci_new_cursor($c); +oci_bind_by_name($stmt, ":curs", $cursor, -1, OCI_B_CURSOR); + +oci_execute($stmt); + +oci_execute($cursor); +var_dump(oci_fetch_row($cursor)); +var_dump(oci_fetch_row($cursor)); +var_dump(oci_fetch_row($cursor)); +var_dump(oci_fetch_row($cursor)); + +// Clean up + +$stmtarray = array( + "drop table cursor_bind_tab" +); + +oci8_test_sql_execute($c, $stmtarray); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECT-- +array(2) { + [0]=> + string(1) "1" + [1]=> + string(1) "1" +} +array(2) { + [0]=> + string(1) "1" + [1]=> + string(1) "1" +} +array(2) { + [0]=> + string(1) "1" + [1]=> + string(1) "1" +} +bool(false) +===DONE=== |