Annotation of embedaddon/php/ext/oci8/tests/bug44008.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #44008 (Incorrect usage of OCI-Lob->close crashes PHP)
        !             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: 
        !            13: // Initialization
        !            14: 
        !            15: $stmtarray = array(
        !            16:                "create or replace procedure bug44008_proc (p in out clob)
        !            17:                as begin p := 'A';
        !            18:                end;"
        !            19: );
        !            20: 
        !            21: oci8_test_sql_execute($c, $stmtarray);
        !            22: 
        !            23: // Run Test
        !            24: 
        !            25: $s = oci_parse($c, 'begin bug44008_proc(:data); end;');
        !            26: $textLob = oci_new_descriptor($c, OCI_D_LOB);
        !            27: oci_bind_by_name($s, ":data", $textLob, -1, OCI_B_CLOB);
        !            28: oci_execute($s, OCI_DEFAULT);
        !            29: $r = $textLob->load();
        !            30: echo "$r\n";
        !            31: 
        !            32: // Incorrectly closing the lob doesn't cause a crash.
        !            33: // OCI-LOB->close() is documented for use only with OCI-Lob->writeTemporary()
        !            34: $textLob->close();
        !            35: 
        !            36: // Cleanup
        !            37: 
        !            38: $stmtarray = array(
        !            39:         "drop procedure bug44008_proc"
        !            40: );
        !            41: 
        !            42: oci8_test_sql_execute($c, $stmtarray);
        !            43: 
        !            44: echo "Done\n";
        !            45: 
        !            46: ?>
        !            47: --EXPECT--
        !            48: A
        !            49: Done

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