Annotation of embedaddon/php/ext/oci8/tests/bug51291_2.phpt, revision 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>