Annotation of embedaddon/php/ext/oci8/tests/cursors.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: fetching cursor from a statement
                      3: --SKIPIF--
                      4: <?php
                      5: $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
                      6: require(dirname(__FILE__).'/skipif.inc');
                      7: ?> 
                      8: --FILE--
                      9: <?php
                     10: 
                     11: require dirname(__FILE__)."/connect.inc";
                     12: require dirname(__FILE__)."/create_table.inc";
                     13: 
                     14: $insert_sql = "INSERT INTO ".$schema.$table_name." (id, value) VALUES (1,1)";
                     15: 
                     16: if (!($s = oci_parse($c, $insert_sql))) {
                     17:        die("oci_parse(insert) failed!\n");
                     18: }
                     19: 
                     20: for ($i = 0; $i<3; $i++) {
                     21:        if (!oci_execute($s)) {
                     22:                die("oci_execute(insert) failed!\n");
                     23:        }
                     24: }
                     25: 
                     26: if (!oci_commit($c)) {
                     27:        die("oci_commit() failed!\n");
                     28: }
                     29: 
                     30: $sql = "select CURSOR(select * from ".$schema.$table_name.") as curs FROM dual";
                     31: $stmt = oci_parse($c, $sql);
                     32: 
                     33: oci_execute($stmt);
                     34: 
                     35: while ($data = oci_fetch_assoc($stmt)) {
                     36:        oci_execute($data["CURS"]);
                     37:        $subdata = oci_fetch_assoc($data["CURS"]);
                     38:        var_dump($subdata);
                     39:        var_dump(oci_cancel($data["CURS"]));
                     40:        $subdata = oci_fetch_assoc($data["CURS"]);
                     41:        var_dump($subdata);
                     42:        var_dump(oci_cancel($data["CURS"]));
                     43: }
                     44: 
                     45: require dirname(__FILE__)."/drop_table.inc";
                     46: 
                     47: echo "Done\n";
                     48: 
                     49: ?>
                     50: --EXPECTF--
                     51: array(5) {
                     52:   ["ID"]=>
                     53:   string(1) "1"
                     54:   ["VALUE"]=>
                     55:   string(1) "1"
                     56:   ["BLOB"]=>
                     57:   NULL
                     58:   ["CLOB"]=>
                     59:   NULL
                     60:   ["STRING"]=>
                     61:   NULL
                     62: }
                     63: bool(true)
                     64: 
                     65: Warning: oci_fetch_assoc(): ORA-01002: fetch out of sequence in %s on line %d
                     66: bool(false)
                     67: bool(true)
                     68: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>