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

1.1       misho       1: --TEST--
                      2: Bug #51291 (oci_error() doesn't report last error when called two times)
                      3: --SKIPIF--
                      4: <?php
                      5: $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs: different error messages from TimesTen
                      6: require(dirname(__FILE__).'/skipif.inc');
                      7: ?> 
                      8: --FILE--
                      9: <?php
                     10: 
                     11: require(dirname(__FILE__).'/connect.inc');
                     12: 
                     13: echo "\nTest 1 - Execute - after successful 2nd query with same statement\n";
                     14: 
                     15: $s = oci_parse($c, "declare e exception; begin if :bv = 1 then raise e; end if; end;");
                     16: $bv = 1;
                     17: oci_bind_by_name($s, ":bv", $bv);
                     18: $r = @oci_execute($s, OCI_DEFAULT);
                     19: if (!$r) { 
                     20:     var_dump(oci_error(), oci_error($c), oci_error($s));
                     21:     $bv = 0;
                     22:     $r = oci_execute($s, OCI_DEFAULT);
                     23:     echo "Execute status is ";
                     24:     if (is_null($r)) echo "null";
                     25:     else if ($r === false) echo "false";
                     26:     else if ($r === true) echo "true";
                     27:     else echo $r;
                     28:     echo "\n";
                     29:     echo "2nd call after successful execute\n";
                     30:     var_dump(oci_error(), oci_error($c), oci_error($s));
                     31: }
                     32: 
                     33: ?>
                     34: ===DONE===
                     35: <?php exit(0); ?>
                     36: --EXPECTF--
                     37: Test 1 - Execute - after successful 2nd query with same statement
                     38: bool(false)
                     39: bool(false)
                     40: array(4) {
                     41:   ["code"]=>
                     42:   int(6510)
                     43:   ["message"]=>
                     44:   string(72) "ORA-06510: PL/SQL: %s
                     45: ORA-06512: %s"
                     46:   ["offset"]=>
                     47:   int(0)
                     48:   ["sqltext"]=>
                     49:   string(64) "declare e exception; begin if :bv = 1 then raise e; end if; end;"
                     50: }
                     51: Execute status is true
                     52: 2nd call after successful execute
                     53: bool(false)
                     54: bool(false)
                     55: bool(false)
                     56: ===DONE===

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